1 package com.loribel.commons.abstraction;
2
3 /***
4 * Implementation for objects witch can have children. This interface is use for example with
5 * TreeNode and Tree.
6 *
7 * @author Grégory Borelli
8 */
9 public interface GB_ChildrenBuilder
10 {
11
12 /***
13 * Build children of this node
14 *
15 * @param a_flagDeep boolean - if true, build all deep children
16 *
17 * @return boolean
18 */
19 boolean buildChildren(
20 boolean a_flagDeep);
21
22 /***
23 * Remove all children and build children of this node.
24 *
25 * @param a_flagDeep boolean - if true, build all deep children
26 *
27 * @return boolean
28 */
29 boolean rebuildChildren(
30 boolean a_flagDeep);
31
32 /***
33 * Returns true if children has been created.
34 *
35 * @return boolean
36 */
37 boolean isChildrenCreated();
38
39 /***
40 * Returns true if this object is allowed to have children.
41 *
42 * @return boolean
43 */
44 boolean getAllowsChildren();
45
46 }