public abstract class AbstractAsynchronousTreeNode<T extends javax.swing.tree.TreeNode> extends java.lang.Object implements AsynchronousTreeNode
Modifier and Type | Class and Description |
---|---|
protected static class |
AbstractAsynchronousTreeNode.LoadingStatus |
Modifier and Type | Field and Description |
---|---|
protected T |
errorNode |
protected T |
loadingNode |
protected java.util.List<T> |
nodeList |
protected T |
parent |
protected javax.swing.tree.DefaultTreeModel |
treeModel |
Constructor and Description |
---|
AbstractAsynchronousTreeNode(javax.swing.tree.DefaultTreeModel treeModel,
T parent) |
Modifier and Type | Method and Description |
---|---|
void |
blockLoad()
If the children haven't already been loaded, then loads the children of this node synchronously within this call.
|
protected void |
checkChildren(boolean force) |
java.util.Enumeration |
children() |
boolean |
getAllowsChildren() |
T |
getChildAt(int idx) |
int |
getChildCount() |
int |
getIndex(javax.swing.tree.TreeNode node) |
T |
getParent() |
boolean |
isLeaf() |
protected abstract java.util.List<T> |
loadChildren() |
protected void |
loadDone(java.util.List<T> nodeList) |
protected void |
loadError(java.lang.Exception ex) |
protected abstract T |
newErrorNode(java.lang.Throwable ex) |
protected abstract T |
newLoadingNode() |
void |
reload() |
protected void |
showLoadingError(java.lang.Exception ex)
Optional override to display a loading error
|
protected javax.swing.tree.DefaultTreeModel treeModel
protected T extends javax.swing.tree.TreeNode loadingNode
protected T extends javax.swing.tree.TreeNode errorNode
protected java.util.List<T extends javax.swing.tree.TreeNode> nodeList
protected T extends javax.swing.tree.TreeNode parent
public AbstractAsynchronousTreeNode(javax.swing.tree.DefaultTreeModel treeModel, T parent)
protected abstract T newLoadingNode()
protected abstract T newErrorNode(java.lang.Throwable ex)
protected abstract java.util.List<T> loadChildren() throws java.lang.Exception
java.lang.Exception
protected void loadDone(java.util.List<T> nodeList)
protected void loadError(java.lang.Exception ex)
protected void showLoadingError(java.lang.Exception ex)
protected void checkChildren(boolean force)
public void blockLoad()
blockLoad
in interface AsynchronousTreeNode
public T getChildAt(int idx)
getChildAt
in interface javax.swing.tree.TreeNode
public T getParent()
getParent
in interface javax.swing.tree.TreeNode
public void reload()
public java.util.Enumeration children()
children
in interface javax.swing.tree.TreeNode
public boolean getAllowsChildren()
getAllowsChildren
in interface javax.swing.tree.TreeNode
public int getChildCount()
getChildCount
in interface javax.swing.tree.TreeNode
public int getIndex(javax.swing.tree.TreeNode node)
getIndex
in interface javax.swing.tree.TreeNode
public boolean isLeaf()
isLeaf
in interface javax.swing.tree.TreeNode