01: //
02: // Copyright (C) 2005 United States Government as represented by the
03: // Administrator of the National Aeronautics and Space Administration
04: // (NASA). All Rights Reserved.
05: //
06: // This software is distributed under the NASA Open Source Agreement
07: // (NOSA), version 1.3. The NOSA has been approved by the Open Source
08: // Initiative. See the file NOSA-1.3-JPF at the top of the distribution
09: // directory tree for the complete NOSA document.
10: //
11: // THE SUBJECT SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY OF ANY
12: // KIND, EITHER EXPRESSED, IMPLIED, OR STATUTORY, INCLUDING, BUT NOT
13: // LIMITED TO, ANY WARRANTY THAT THE SUBJECT SOFTWARE WILL CONFORM TO
14: // SPECIFICATIONS, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR
15: // A PARTICULAR PURPOSE, OR FREEDOM FROM INFRINGEMENT, ANY WARRANTY THAT
16: // THE SUBJECT SOFTWARE WILL BE ERROR FREE, OR ANY WARRANTY THAT
17: // DOCUMENTATION, IF PROVIDED, WILL CONFORM TO THE SUBJECT SOFTWARE.
18: //
19: package DEOS;
20:
21: /**
22: * DOCUMENT ME!
23: */
24: class threadList extends DoubleLinkListNode {
25: protected threadList() {
26: //System.out.println("threadList Constructor");
27: previous = this ;
28: next = this ;
29: }
30:
31: public boolean isEmpty() {
32: return next == (threadList) this ;
33: }
34:
35: protected void addAtBeginning(threadListNode newNode) {
36: addAfter(newNode);
37: }
38:
39: protected void addAtEnd(threadListNode newNode) {
40: //System.out.println("threadList.addAtEnd");
41: previous.addAfter(newNode);
42: }
43:
44: protected threadListNode head() {
45: if (isEmpty()) {
46: System.out
47: .println("Attempt to acquire head of empty list!");
48: System.exit(0);
49: }
50:
51: return (threadListNode) next;
52: }
53:
54: protected void mergeList(threadList otherList) {
55: //System.out.println("threadList.mergeList");
56: if (!otherList.isEmpty()) {
57: previous.next = otherList.next;
58: otherList.next.previous = previous;
59: previous = otherList.previous;
60: otherList.previous.next = this ;
61: otherList.next = otherList;
62: otherList.previous = otherList;
63: }
64: }
65:
66: protected threadListNode tail() {
67: if (isEmpty()) {
68: System.out
69: .println("Attempt to acquire tail of empty list!");
70: System.exit(0);
71: }
72:
73: return (threadListNode) previous;
74: }
75: }
|