View Javadoc

1   package com.sri.emo.dbobj.model_tree;
2   
3   import com.jcorporate.expresso.core.controller.Transition;
4   
5   import java.io.Serializable;
6   import java.util.List;
7   
8   /***
9    * <tt>Special Case</tt> instance for no parents in a model.  Access through
10   * the {@link Model} interface instead of directly.
11   *
12   * @author Michael Rimov
13   */
14  class NoParentNode implements ModelNode {
15  
16  
17      /***
18       * Default constructor
19       */
20      public NoParentNode() {
21      }
22  
23      /***
24       * Throws UnsupportedOperationException - not implemented for obvious reasons.
25       *
26       * @return nothing, throws UnsupportedOperationException
27       */
28      public List getChildren() {
29          throw new java.lang.UnsupportedOperationException("NO_PARENT has no children");
30      }
31  
32      /***
33       * Throws UnsupportedOperationException - not implemented for obvious reasons.
34       *
35       * @return nothing, throws UnsupportedOperationException
36       */
37      public ModelNode getParent() {
38          throw new java.lang.UnsupportedOperationException("NO_PARENT has no parent");
39      }
40  
41      /***
42       * Throws UnsupportedOperationException - not implemented for obvious reasons.
43       *
44       * @return nothing, throws UnsupportedOperationException
45       */
46      public ModelVisitable getVisitable() {
47          throw new java.lang.UnsupportedOperationException("NO_PARENT has no 'viewable' object");
48      }
49  
50      /***
51       * Retrieve the label assigned to the node.
52       *
53       * @return String label.
54       */
55      public String getLabel() {
56          return "No Such Node";
57      }
58  
59      /***
60       * Retrieve the link to get to the node for editing.  (Similar to IViewable)
61       *
62       * @return Transition.
63       */
64      public Transition getLink() {
65          return ModelNode.NO_LINK;
66      }
67  
68      /***
69       * Default implementation of fill status.
70       *
71       * @return ModelNode
72       */
73      public ModelFillStatus getModelFillStatus() {
74          return ModelFillStatus.PARTIALLY_FILLED;
75      }
76  
77      /***
78       * Does nothing.
79       *
80       * @return Serializable
81       */
82      public Serializable getAdditionalInfo() {
83          return null;
84      }
85  
86      /***
87       * {@inheritDoc}
88       *
89       * @param newInfo the new application-specific information.
90       */
91      public void setAdditionalInfo(Serializable newInfo) {
92          throw new java.lang.UnsupportedOperationException("NO_PARENT has no slot for 'tag information'");
93      }
94  
95      /***
96       * {@inheritDoc}
97       *
98       * @return NodeCompletionStatus
99       */
100     public NodeCompletionStatus getNodeCompletionStatus() {
101         return NodeCompletionStatus.UNDEFINED_STATUS;
102     }
103 
104     /***
105      * Sets the node completion status.  They can either be Undefined, Complete,
106      * or Recursive -- pointing to another model node in the tree.
107      *
108      * @param newStatus NodeCompletionStatus
109      * @see NodeCompletionStatus
110      */
111     public void setNodeCompletionStatus(NodeCompletionStatus newStatus) {
112 
113     }
114 
115 }