1 package com.loribel.commons.abstraction;
2
3 /***
4 * Abstraction to represent a hierarchy.
5 * See {@link GB_SimpleNode} for details...
6 *
7 * @author Grégory Borelli
8 */
9 public interface GB_SimpleNodeSet
10 extends
11 GB_SimpleNode
12 {
13 /***
14 * Set the labelIcon.
15 *
16 * @param a_labelIcon GB_LabelIcon -
17 */
18 void setLabelIcon(
19 GB_LabelIcon a_labelIcon);
20
21 /***
22 * Set the value of this node.
23 *
24 * @param a_value Object -
25 */
26 void setValue(
27 Object a_value);
28
29 /***
30 * Add a Child to the this node.
31 *
32 * @param a_child GB_SimpleNode -
33 *
34 * @return boolean
35 */
36 boolean addChild(
37 GB_SimpleNode a_child);
38
39 /***
40 * Add an array of child to this node.
41 *
42 * @param a_childArray GB_SimpleNode[] -
43 */
44 void addAllChild(
45 GB_SimpleNode[] a_childArray);
46
47 /***
48 * Remove a child.
49 *
50 * @param a_child GB_SimpleNode -
51 *
52 * @return boolean
53 */
54 boolean removeChild(
55 GB_SimpleNode a_child);
56
57 /***
58 * Remove all children to this node.
59 */
60 void removeAllChild();
61
62 }