Source code: com/arranger/jarl/base/IJarlObjectInfo.java
1 package com.arranger.jarl.base;
2
3 import java.lang.reflect.Field;
4 import java.util.List;
5
6 /**
7 * IJarlObjectInfo describes
8 */
9 public interface IJarlObjectInfo {
10
11 /**
12 * @return the field for this object
13 */
14 public Field getField();
15
16 /**
17 * @return the display name
18 */
19 public String getDisplayName();
20
21 /**
22 * @return an object to display the value
23 */
24 public IJarlObjectDisplay getDisplay();
25
26 /**
27 * @return a collection of child objects of type {@link IJarlObjectInfo}
28 */
29 public List getChildren();
30
31 /**
32 * @return true if it has children, false otherwise
33 */
34 public boolean hasChildren();
35
36 /**
37 * Displays the value for this object
38 */
39 public interface IJarlObjectDisplay {
40
41 /**
42 * Converts the object to displayable text
43 * @param object
44 * @return displayable text
45 */
46 public String getDisplayValue(Object object);
47 }
48 }