com.raritantechnologies.utils.tree
Class CompositeTreeBuilder

java.lang.Object
  extended bycom.raritantechnologies.utils.tree.CompositeTreeBuilder
All Implemented Interfaces:
IConfigurable, ITreeBuilder

public class CompositeTreeBuilder
extends java.lang.Object
implements ITreeBuilder

Composite TreeBuilder that builds a composite tree from two or more delegate TreeBuilders. Uses the TreeRoot addTree( ) method to merge the trees.

XML Configuration Template:
   <TreeBuilder class="com.raritantechnologies.utils.tree.CompositeTreeBuilder"
                   treeName="[ name of composite tree root node ]" >

     <!-- Two or more Input tree builders -->
     <TreeBuilder class="[ class of ITreeBuilder ]"  
                     parentPath="[ id or parent node. empty or 'root' if composite tree root is parent ]" >

     </TreeBuilder>

     <!-- etc. . . -->

   </TreeBuilder>

 

Developed by Raritan Technologies Inc..

Author:
Ted Sullivan

Field Summary
 
Fields inherited from interface com.raritantechnologies.utils.tree.ITreeBuilder
TEMPLATE
 
Constructor Summary
CompositeTreeBuilder()
           
CompositeTreeBuilder(ITreeBuilder[] treeBuilders)
           
 
Method Summary
 void addTreeBuilder(ITreeBuilder treeBuilder)
           
 void addTreeBuilder(ITreeBuilder treeBuilder, java.lang.String parentPath)
           
 TreeRoot buildTree(RaritanPageContext pageContext)
           
 java.lang.String getConfigurationXML()
           
 java.lang.String getConfigurationXML(java.lang.String configurationTemplate)
           
 void getConfigurationXML(java.io.Writer writer)
           
 void initialize(org.w3c.dom.Element elem)
          Initializes the object from an XML tag or element.
 TreeRoot refreshTree(TreeRoot theTree, RaritanPageContext pContext)
          Method to enable dynamic or refreshable trees.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CompositeTreeBuilder

public CompositeTreeBuilder()

CompositeTreeBuilder

public CompositeTreeBuilder(ITreeBuilder[] treeBuilders)
Method Detail

buildTree

public TreeRoot buildTree(RaritanPageContext pageContext)
Specified by:
buildTree in interface ITreeBuilder

refreshTree

public TreeRoot refreshTree(TreeRoot theTree,
                            RaritanPageContext pContext)
Description copied from interface: ITreeBuilder

Method to enable dynamic or refreshable trees. Static tree builders should implement this by returning the passed in tree object. Dynamic tree builders should implement this by returning the output of their buildTree( ) method or by pruning/growing the given tree as appropriate.

ITreeBuilders that support "lazy tree node evaluation" should use this method to determine which nodes in the tree need to be updated (TreeNode.needsUpdate( ) method returns true.

Specified by:
refreshTree in interface ITreeBuilder

addTreeBuilder

public void addTreeBuilder(ITreeBuilder treeBuilder)

addTreeBuilder

public void addTreeBuilder(ITreeBuilder treeBuilder,
                           java.lang.String parentPath)

initialize

public void initialize(org.w3c.dom.Element elem)
Description copied from interface: IConfigurable
Initializes the object from an XML tag or element. This method is called by the Framework as part of the application initializtion. see ConfigurationManager, XMLConfigurationManager, XMLSearchFieldMapFactory, XMLSearchSourceFactory. Configurable objects that are owned or contained by other configurable objects will be initialized in by the parent object.

Specified by:
initialize in interface IConfigurable

getConfigurationXML

public void getConfigurationXML(java.io.Writer writer)
                         throws java.io.IOException
Throws:
java.io.IOException

getConfigurationXML

public java.lang.String getConfigurationXML()

getConfigurationXML

public java.lang.String getConfigurationXML(java.lang.String configurationTemplate)