org.richfaces.model
Class CacheableTreeDataModel<T>

java.lang.Object
  extended by javax.faces.model.DataModel
      extended by org.ajax4jsf.model.ExtendedDataModel
          extended by org.richfaces.model.AbstractTreeDataModel
              extended by org.richfaces.model.TreeDataModel<T>
                  extended by org.richfaces.model.CacheableTreeDataModel<T>
Direct Known Subclasses:
ClassicCacheableTreeDataModel, SwingCacheableTreeDataModel

public abstract class CacheableTreeDataModel<T>
extends TreeDataModel<T>

Extension of TreeDataModel supporting lazy data fetching for caching created 08.01.2007

Author:
Nick - mailto:nbelaevski@exadel.com

Nested Class Summary
 
Nested classes/interfaces inherited from class org.richfaces.model.TreeDataModel
TreeDataModel.MissingNodeHandler<T>
 
Field Summary
 
Fields inherited from class org.richfaces.model.TreeDataModel
nodeAdaptor
 
Fields inherited from class org.richfaces.model.AbstractTreeDataModel
SEPARATOR
 
Constructor Summary
CacheableTreeDataModel(TreeDataModel<T> model, TreeDataModel.MissingNodeHandler<T> missingNodeHandler)
           
 
Method Summary
 void addNode(java.lang.Object parentRowKey, TreeNode newNode, java.lang.Object id)
           
 java.lang.Object convertToKey(javax.faces.context.FacesContext context, java.lang.String keyString, javax.faces.component.UIComponent component, javax.faces.convert.Converter converter)
           
 TreeNode getModelTreeNode()
          Get model node recursively with all sub nodes.
 TreeDataModel<T> getTreeDataModel()
           
 boolean isLeaf()
          returns whether this node is leaf
 T locateTreeNode(TreeRowKey rowKey)
           
 void removeNode(java.lang.Object rowKey)
           
protected abstract  void setDefaultNodeData(T node, java.lang.Object data)
           
 void setTransient(boolean newTransientValue)
           
 void setTreeDataModel(TreeDataModel<T> treeDataModel)
           
 void walk(javax.faces.context.FacesContext context, DataVisitor dataVisitor, Range range, java.lang.Object rowKey, java.lang.Object argument, boolean last)
          walk sub-model having row key argument as its root
 void walkModel(javax.faces.context.FacesContext context, DataVisitor visitor, Range range, java.lang.Object key, java.lang.Object argument, boolean last)
          Walk backing sub-model having row key argument as its root.
 
Methods inherited from class org.richfaces.model.TreeDataModel
addNode, doWalk, getChildNodeId, getClazz, getData, getNodeAdaptor, getRowData, getRowKey, getTreeNode, getTreeNodeRowKey, getWrappedData, isRowAvailable, locateTreeNode, setRowKey, setWrappedData
 
Methods inherited from class org.richfaces.model.AbstractTreeDataModel
getParentRowKey, getRowCount, getRowIndex, processElement, setRowIndex, walk
 
Methods inherited from class org.ajax4jsf.model.ExtendedDataModel
getSerializableModel
 
Methods inherited from class javax.faces.model.DataModel
addDataModelListener, getDataModelListeners, removeDataModelListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CacheableTreeDataModel

public CacheableTreeDataModel(TreeDataModel<T> model,
                              TreeDataModel.MissingNodeHandler<T> missingNodeHandler)
Method Detail

isLeaf

public boolean isLeaf()
Description copied from class: AbstractTreeDataModel
returns whether this node is leaf

Overrides:
isLeaf in class TreeDataModel<T>
Returns:

walkModel

public void walkModel(javax.faces.context.FacesContext context,
                      DataVisitor visitor,
                      Range range,
                      java.lang.Object key,
                      java.lang.Object argument,
                      boolean last)
               throws java.io.IOException
Description copied from class: AbstractTreeDataModel
Walk backing sub-model having row key argument as its root. If there is no backing model configured, calling this method is equivalent to calling AbstractTreeDataModel.walk(FacesContext, DataVisitor, Range, Object, Object, boolean)

Overrides:
walkModel in class TreeDataModel<T>
Parameters:
context - faces context
visitor - org.ajax4jsf.ajax.repeat.UIDataAdaptor.ComponentVisitor instance
range - Range to constraint the walk
key - row key to treat as root of sub-model
argument - implementation-specific argument
Throws:
java.io.IOException
See Also:
#walk(FacesContext, DataVisitor, Range, TreeRowKey, Object, boolean)}

setTreeDataModel

public void setTreeDataModel(TreeDataModel<T> treeDataModel)

getTreeDataModel

public TreeDataModel<T> getTreeDataModel()

walk

public void walk(javax.faces.context.FacesContext context,
                 DataVisitor dataVisitor,
                 Range range,
                 java.lang.Object rowKey,
                 java.lang.Object argument,
                 boolean last)
          throws java.io.IOException
Description copied from class: AbstractTreeDataModel
walk sub-model having row key argument as its root

Overrides:
walk in class TreeDataModel<T>
Parameters:
context - faces context
dataVisitor - org.ajax4jsf.ajax.repeat.UIDataAdaptor.ComponentVisitor
range - TreeRange to constraint the walk
rowKey - row key to treat as root of sub-model
argument - implementation specific argument
last - boolean flag indicating whether we started our walk from last element
Throws:
java.io.IOException
See Also:
ExtendedDataModel#walk(FacesContext, DataVisitor, Range, Object)}

setTransient

public void setTransient(boolean newTransientValue)

setDefaultNodeData

protected abstract void setDefaultNodeData(T node,
                                           java.lang.Object data)

convertToKey

public java.lang.Object convertToKey(javax.faces.context.FacesContext context,
                                     java.lang.String keyString,
                                     javax.faces.component.UIComponent component,
                                     javax.faces.convert.Converter converter)
Specified by:
convertToKey in class AbstractTreeDataModel

locateTreeNode

public T locateTreeNode(TreeRowKey rowKey)
Overrides:
locateTreeNode in class TreeDataModel<T>

addNode

public void addNode(java.lang.Object parentRowKey,
                    TreeNode newNode,
                    java.lang.Object id)
Overrides:
addNode in class TreeDataModel<T>

removeNode

public void removeNode(java.lang.Object rowKey)
Overrides:
removeNode in class TreeDataModel<T>

getModelTreeNode

public TreeNode getModelTreeNode()
Description copied from class: AbstractTreeDataModel
Get model node recursively with all sub nodes. Note: valid only for classical TreeNode based tree data model implementation

Overrides:
getModelTreeNode in class AbstractTreeDataModel
Returns:
current tree node


Copyright © 2010. All Rights Reserved.