View Javadoc
1   /*
2    * Metis: Java Data Framework
3    * Copyright 2026. Tony Washer
4    *
5    * Licensed under the Apache License, Version 2.0 (the "License"); you may not
6    * use this file except in compliance with the License.  You may obtain a copy
7    * of the License at
8    *
9    *   http://www.apache.org/licenses/LICENSE-2.0
10   *
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13   * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
14   * License for the specific language governing permissions and limitations under
15   * the License.
16   */
17  
18  package io.github.tonywasher.joceanus.metis.viewer;
19  
20  import java.util.Iterator;
21  
22  /**
23   * Data Viewer Entry.
24   */
25  public interface MetisViewerEntry {
26      /**
27       * Set the object referred to by the entry.
28       *
29       * @param pObject the new object
30       */
31      void setObject(Object pObject);
32  
33      /**
34       * Set the tree object referred to by the entry.
35       *
36       * @param pObject the new object
37       */
38      void setTreeObject(Object pObject);
39  
40      /**
41       * Set Focus onto this entry.
42       */
43      void setFocus();
44  
45      /**
46       * Set Focus onto child of this entry.
47       *
48       * @param pName the name of the child
49       */
50      void setFocus(String pName);
51  
52      /**
53       * Is the entry visible?.
54       *
55       * @return true/false
56       */
57      boolean isVisible();
58  
59      /**
60       * Set entry visibility.
61       *
62       * @param pVisible true/false
63       */
64      void setVisible(boolean pVisible);
65  
66      /**
67       * Get object.
68       *
69       * @return the object
70       */
71      Object getObject();
72  
73      /**
74       * Get parent.
75       *
76       * @return the parent
77       */
78      MetisViewerEntry getParent();
79  
80      /**
81       * Get unique name.
82       *
83       * @return the name
84       */
85      String getUniqueName();
86  
87      /**
88       * Get display name.
89       *
90       * @return the name
91       */
92      String getDisplayName();
93  
94      /**
95       * Get child iterator.
96       *
97       * @return the iterator
98       */
99      Iterator<MetisViewerEntry> childIterator();
100 }