|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavax.swing.tree.DefaultTreeModel
com.alee.laf.tree.WebTreeModel<E>
com.alee.extended.tree.ExTreeModel<E>
public class ExTreeModel<E extends UniqueNode>
WebExTree
,
ExTreeDataProvider
,
Serialized FormField Summary | |
---|---|
protected java.lang.Object |
cacheLock
Lock object for cache changes. |
protected ExTreeDataProvider<E> |
dataProvider
Ex tree data provider. |
protected DoubleMap<java.lang.String,E> |
nodeById
Direct nodes cache (node ID -> node). |
protected java.util.Map<java.lang.String,java.lang.Boolean> |
nodeCached
Nodes cached states (parent ID -> childs cached state). |
protected java.util.Map<java.lang.String,java.util.List<E>> |
rawNodeChildsCache
Cache for childs nodes returned by data provider (parent ID -> list of raw child nodes). |
protected E |
rootNode
Root node cache. |
protected WebTree<E> |
tree
Ex tree that uses this model. |
Fields inherited from class javax.swing.tree.DefaultTreeModel |
---|
asksAllowsChildren, listenerList, root |
Constructor Summary | |
---|---|
ExTreeModel(WebTree<E> tree,
ExTreeDataProvider<E> dataProvider)
Constructs default ex tree model using custom data provider. |
Method Summary | |
---|---|
void |
addChildNodes(E parent,
java.util.List<E> childs)
Adds child nodes for the specified node. |
boolean |
areChildsLoaded(E node)
Returns whether childs for the specified node are already loaded or not. |
protected void |
cacheNodeById(E node)
Caches node by its IDs. |
protected void |
cacheNodesById(java.util.List<E> nodes)
Caches nodes by their IDs. |
protected void |
clearNodeChildsCache(E[] nodes,
boolean clearNodes)
Clears nodes childs cached states. |
protected void |
clearNodeChildsCache(E node,
boolean clearNode)
Clears node and all of its child nodes childs cached states. |
protected void |
clearNodeChildsCache(java.util.List<E> nodes,
boolean clearNodes)
Clears nodes childs cached states. |
protected java.util.List<E> |
filterAndSort(E parentNode,
java.util.List<E> childs)
Performs raw childs filtering and sorting before they can be passed into real tree and returns list of filtered and sorted childs. |
E |
findNode(java.lang.String nodeId)
Looks for the node with the specified ID in the tree model and returns it or null if it was not found. |
E |
getChild(java.lang.Object parent,
int index)
Returns child node for parent node at the specified index. |
int |
getChildCount(java.lang.Object parent)
Returns childs count for specified node. |
ExTreeDataProvider<E> |
getDataProvider()
Returns ex tree data provider. |
DoubleMap<java.lang.String,E> |
getNodesCache()
Returns nodes cache map copy. |
E |
getRoot()
Returns tree root node. |
void |
insertNodeInto(javax.swing.tree.MutableTreeNode newChild,
javax.swing.tree.MutableTreeNode parent,
int index)
Inserts new child node into parent node at the specified index. |
protected void |
insertNodeIntoImpl(E child,
E parent,
int index)
Inserts a child node into parent node. |
void |
insertNodesInto(E[] children,
E parent,
int index)
Inserts an array of child nodes into parent node. |
void |
insertNodesInto(java.util.List<E> children,
E parent,
int index)
Inserts a list of child nodes into parent node. |
protected void |
insertNodesIntoImpl(E[] children,
E parent,
int index)
Inserts an array of child nodes into parent node. |
protected void |
insertNodesIntoImpl(java.util.List<E> children,
E parent,
int index)
Inserts a list of child nodes into parent node. |
boolean |
isLeaf(java.lang.Object node)
Returns whether the specified node is leaf or not. |
protected int |
loadChildsCount(E parent)
Loads (or reloads) node childs and returns zero or childs count if async mode is off. |
protected void |
loadTreeData(E node)
Forces model to cache the whole structure so any node can be accessed right away. |
protected void |
performSortingAndFiltering(E parentNode,
boolean recursively)
Updates node childs using current comparator and filter. |
protected void |
performSortingAndFilteringImpl(E parentNode)
Updates node childs recursively using current comparator and filter. |
protected void |
performSortingAndFilteringRecursivelyImpl(E parentNode)
Updates node childs using current comparator and filter. |
void |
reload(javax.swing.tree.TreeNode node)
Reloads node childs. |
void |
removeNodeFromParent(javax.swing.tree.MutableTreeNode node)
Removes specified node from parent node. |
void |
setChildNodes(E parent,
java.util.List<E> childs)
Sets child nodes for the specified node. |
void |
updateSortingAndFiltering()
Updates nodes sorting and filtering for all nodes. |
void |
updateSortingAndFiltering(E parentNode)
Updates sorting and filtering for the specified node childs. |
void |
updateSortingAndFiltering(E parentNode,
boolean recursively)
Updates sorting and filtering for the specified node childs. |
Methods inherited from class com.alee.laf.tree.WebTreeModel |
---|
getRootNode, removeNodesFromParent, removeNodesFromParent, removeNodesFromParent, updateNode, updateNodeStructure, updateTree, valueForPathChanged |
Methods inherited from class javax.swing.tree.DefaultTreeModel |
---|
addTreeModelListener, asksAllowsChildren, fireTreeNodesChanged, fireTreeNodesInserted, fireTreeNodesRemoved, fireTreeStructureChanged, getIndexOfChild, getListeners, getPathToRoot, getPathToRoot, getTreeModelListeners, nodeChanged, nodesChanged, nodeStructureChanged, nodesWereInserted, nodesWereRemoved, reload, removeTreeModelListener, setAsksAllowsChildren, setRoot |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected final WebTree<E extends UniqueNode> tree
protected final ExTreeDataProvider<E extends UniqueNode> dataProvider
protected E extends UniqueNode rootNode
protected final java.lang.Object cacheLock
protected final java.util.Map<java.lang.String,java.lang.Boolean> nodeCached
protected final java.util.Map<java.lang.String,java.util.List<E extends UniqueNode>> rawNodeChildsCache
protected final DoubleMap<java.lang.String,E extends UniqueNode> nodeById
Constructor Detail |
---|
public ExTreeModel(WebTree<E> tree, ExTreeDataProvider<E> dataProvider)
tree
- asynchronous treedataProvider
- data providerMethod Detail |
---|
public ExTreeDataProvider<E> getDataProvider()
public E getRoot()
getRoot
in interface javax.swing.tree.TreeModel
getRoot
in class javax.swing.tree.DefaultTreeModel
public boolean isLeaf(java.lang.Object node)
isLeaf
in interface javax.swing.tree.TreeModel
isLeaf
in class javax.swing.tree.DefaultTreeModel
node
- node
public int getChildCount(java.lang.Object parent)
getChildCount
in interface javax.swing.tree.TreeModel
getChildCount
in class javax.swing.tree.DefaultTreeModel
parent
- parent node
public E getChild(java.lang.Object parent, int index)
getChild
in interface javax.swing.tree.TreeModel
getChild
in class javax.swing.tree.DefaultTreeModel
parent
- parent nodeindex
- child node index
public boolean areChildsLoaded(E node)
node
- node to process
protected void loadTreeData(E node)
public void reload(javax.swing.tree.TreeNode node)
reload
in class javax.swing.tree.DefaultTreeModel
node
- nodeprotected void clearNodeChildsCache(E node, boolean clearNode)
node
- node to clear cache forclearNode
- whether should clear node cache or notprotected void clearNodeChildsCache(java.util.List<E> nodes, boolean clearNodes)
nodes
- nodes to clear cache forclearNodes
- whether should clear nodes cache or notprotected void clearNodeChildsCache(E[] nodes, boolean clearNodes)
nodes
- nodes to clear cache forclearNodes
- whether should clear nodes cache or notprotected void cacheNodeById(E node)
node
- node to cacheprotected void cacheNodesById(java.util.List<E> nodes)
nodes
- list of nodes to cacheprotected int loadChildsCount(E parent)
parent
- node to load childs for
AsyncTreeDataProvider.loadChilds(AsyncUniqueNode, ChildsListener)
public void setChildNodes(E parent, java.util.List<E> childs)
parent
- node to processchilds
- new node childspublic void addChildNodes(E parent, java.util.List<E> childs)
parent
- node to processchilds
- new node childspublic void removeNodeFromParent(javax.swing.tree.MutableTreeNode node)
removeNodeFromParent
in class javax.swing.tree.DefaultTreeModel
node
- node to removepublic void insertNodeInto(javax.swing.tree.MutableTreeNode newChild, javax.swing.tree.MutableTreeNode parent, int index)
insertNodeInto
in class javax.swing.tree.DefaultTreeModel
newChild
- new child nodeparent
- parent nodeindex
- insert indexpublic void insertNodesInto(java.util.List<E> children, E parent, int index)
insertNodesInto
in class WebTreeModel<E extends UniqueNode>
children
- list of new child nodesparent
- parent nodeindex
- insert indexpublic void insertNodesInto(E[] children, E parent, int index)
insertNodesInto
in class WebTreeModel<E extends UniqueNode>
children
- array of new child nodesparent
- parent nodeindex
- insert indexprotected void insertNodeIntoImpl(E child, E parent, int index)
child
- new child nodeparent
- parent nodeindex
- insert indexprotected void insertNodesIntoImpl(java.util.List<E> children, E parent, int index)
children
- list of new child nodesparent
- parent nodeindex
- insert indexprotected void insertNodesIntoImpl(E[] children, E parent, int index)
children
- array of new child nodesparent
- parent nodeindex
- insert indexpublic void updateSortingAndFiltering()
public void updateSortingAndFiltering(E parentNode)
parentNode
- node which childs sorting and filtering should be updatedpublic void updateSortingAndFiltering(E parentNode, boolean recursively)
parentNode
- node which childs sorting and filtering should be updatedrecursively
- whether should update the whole childs structure recursively or notprotected void performSortingAndFiltering(E parentNode, boolean recursively)
parentNode
- node which childs sorting and filtering should be updatedrecursively
- whether should update the whole childs structure recursively or notprotected void performSortingAndFilteringRecursivelyImpl(E parentNode)
parentNode
- node to updateprotected void performSortingAndFilteringImpl(E parentNode)
parentNode
- node to updateprotected java.util.List<E> filterAndSort(E parentNode, java.util.List<E> childs)
childs
- childs to filter and sort
public E findNode(java.lang.String nodeId)
nodeId
- node ID
public DoubleMap<java.lang.String,E> getNodesCache()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |