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 }