SilverStream
Application Server 3.5

com.sssw.rt.util
Class AgoTreeDataManager

java.lang.Object
 |
 +--com.sssw.rt.util.AgoTreeDataManager
All Implemented Interfaces:
Externalizable, Serializable

public class AgoTreeDataManager
extends Object
implements Externalizable

This helper class allows a programmer to construct data in the form of a table, or a tree of tables. It provides various accessor data models for the data.

See Also:
Serialized Form

Field Summary
static String TREE_DATA_MANAGER
          This property name may be used to request the AgoTreeDataManager object that is managing an AgiRowCursor.
 
Constructor Summary
AgoTreeDataManager(List data, String[] columnnames)
          Constructs a single level of tree data containing a fixed set of columns.
AgoTreeDataManager(List data, String[] columnnames, String bandname)
          Constructs a single level of tree data containing a fixed set of columns.
 
Method Summary
protected  boolean allowsChildren(AgiRowCursor cursor)
          Override this method to indicate whether the row referenced by the specified row cursor may have child rows.
protected  AgoTreeDataManager createChildDataManager(AgiRowCursor cursor)
          Override this method to support just-in-time delivery of child data.
 AgiRowCursor getRootRowCursor()
          Get an AgiRowCursor that represents the root of the data tree.
 void setChildDataManager(AgiRowCursor parentnode, AgoTreeDataManager childmgr)
          Add a set of data rows as a child of a parent row cursor.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods implemented from interface java.io.Externalizable
readExternal, writeExternal
 

Field Detail

TREE_DATA_MANAGER

public static final String TREE_DATA_MANAGER
This property name may be used to request the AgoTreeDataManager object that is managing an AgiRowCursor.
Constructor Detail

AgoTreeDataManager

public AgoTreeDataManager(List data,
                          String[] columnnames)
Constructs a single level of tree data containing a fixed set of columns.
Parameters:
data - each element of the list is an array of objects that represents a single row of data. The length of each row array must be at least as long as the length of the columnnames array,
columnames - an array of strings that define the name of each column in the data set

AgoTreeDataManager

public AgoTreeDataManager(List data,
                          String[] columnnames,
                          String bandname)
Constructs a single level of tree data containing a fixed set of columns.
Parameters:
data - Each element of the list is an array of objects that represents a single row of data. The length of each row array must be at least as long as the length of the columnnames array,
columnames - An array of strings that define the name of each column in the data set.
bandname - The bandname for this level. The AgcView control uses the AgiRowCursor.BANDNAME property value to determine which AgoViewFormat to use when displaying the data. A null parameter value is valid.
Method Detail

getRootRowCursor

public AgiRowCursor getRootRowCursor()
Get an AgiRowCursor that represents the root of the data tree.
Returns:
The root cursor for this set of data.
Usage:
Each call to this method returns a separate copy of the root cursor.
See Also:
AgiRowCursor

setChildDataManager

public void setChildDataManager(AgiRowCursor parentnode,
                                AgoTreeDataManager childmgr)
                         throws AgoException
Add a set of data rows as a child of a parent row cursor. The parent cursor must refer to data managed by a AgoTreeDataManager.
Parameters:
parentnode - the parent row cursor
childmgr - pointer to the child row cursor manager
See Also:
AgoTreeDataManager.createChildDataManager(AgiRowCursor cursor)

createChildDataManager

protected AgoTreeDataManager createChildDataManager(AgiRowCursor cursor)
Override this method to support just-in-time delivery of child data. This method is called the first time gotoChild is invoked on any row. The default result is null.
Returns:
An AgoTreeDataManager that represents the child data for the specified row, or null if no child data is available.

allowsChildren

protected boolean allowsChildren(AgiRowCursor cursor)
Override this method to indicate whether the row referenced by the specified row cursor may have child rows. This method is used by the UI to determine whether to display a "twistie". The default result is true.
Parameters:
cursor - the row cursor being tested for children.
Returns:
true if this row may have child rows, false if not.

SilverStream
Application Server 3.5