biz.hammurapi.swing
Class LazyTreeNode

java.lang.Object
  extended by biz.hammurapi.swing.LazyTreeNode
All Implemented Interfaces:
Visitable, javax.swing.tree.TreeNode
Direct Known Subclasses:
AstVisualizable, LazyTreeNodeTableVisualizable

public abstract class LazyTreeNode
extends java.lang.Object
implements javax.swing.tree.TreeNode, Visitable

Base class for tree nodes which load their children on demand. Subclasses shall implement loadChildren() method.

Author:
Pavel

Field Summary
protected  java.lang.String description
           
protected static java.util.List EMPTY_LIST
           
protected  java.lang.String name
           
protected  javax.swing.tree.TreeNode parent
           
 
Constructor Summary
  LazyTreeNode(javax.swing.tree.TreeNode parent)
           
  LazyTreeNode(javax.swing.tree.TreeNode parent, java.lang.String name)
           
protected LazyTreeNode(javax.swing.tree.TreeNode parent, java.lang.String name, java.util.List children)
           
 
Method Summary
 boolean accept(Visitor visitor)
          Visits only children if they are loaded.
 java.util.Enumeration children()
           
 boolean getAllowsChildren()
           
 javax.swing.tree.TreeNode getChildAt(int childIndex)
           
 int getChildCount()
           
protected  java.util.List getChildren()
           
 java.lang.String getDescription()
           
 int getIndex(javax.swing.tree.TreeNode node)
           
 javax.swing.tree.TreeNode getParent()
           
 boolean isLeaf()
           
 boolean isSelectable()
           
protected abstract  java.util.List loadChildren()
          Loads node children.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

name

protected java.lang.String name

parent

protected javax.swing.tree.TreeNode parent

description

protected java.lang.String description

EMPTY_LIST

protected static final java.util.List EMPTY_LIST
Constructor Detail

LazyTreeNode

public LazyTreeNode(javax.swing.tree.TreeNode parent,
                    java.lang.String name)

LazyTreeNode

protected LazyTreeNode(javax.swing.tree.TreeNode parent,
                       java.lang.String name,
                       java.util.List children)

LazyTreeNode

public LazyTreeNode(javax.swing.tree.TreeNode parent)
Method Detail

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

accept

public boolean accept(Visitor visitor)
Visits only children if they are loaded.

Specified by:
accept in interface Visitable
Returns:
visitor.vistit()

getChildren

protected java.util.List getChildren()

loadChildren

protected abstract java.util.List loadChildren()
Loads node children.

Returns:

children

public java.util.Enumeration children()
Specified by:
children in interface javax.swing.tree.TreeNode

getAllowsChildren

public boolean getAllowsChildren()
Specified by:
getAllowsChildren in interface javax.swing.tree.TreeNode

getChildAt

public javax.swing.tree.TreeNode getChildAt(int childIndex)
Specified by:
getChildAt in interface javax.swing.tree.TreeNode

getChildCount

public int getChildCount()
Specified by:
getChildCount in interface javax.swing.tree.TreeNode

getIndex

public int getIndex(javax.swing.tree.TreeNode node)
Specified by:
getIndex in interface javax.swing.tree.TreeNode

getParent

public javax.swing.tree.TreeNode getParent()
Specified by:
getParent in interface javax.swing.tree.TreeNode

isLeaf

public boolean isLeaf()
Specified by:
isLeaf in interface javax.swing.tree.TreeNode

isSelectable

public boolean isSelectable()

getDescription

public java.lang.String getDescription()
Returns:
Text for rendering tooltip.


Copyright © 2003 Hammurapi Group. All Rights Reserved.