dk.opi.io
Class JTreeIOTreeNode

java.lang.Object
  extended byjavax.swing.tree.DefaultMutableTreeNode
      extended bydk.opi.io.JTreeIOTreeNode
All Implemented Interfaces:
Cloneable, MutableTreeNode, Serializable, TreeNode

public class JTreeIOTreeNode
extends DefaultMutableTreeNode

Class wrapping an IOItemBrowseTreeNode object, in order to visualize the hierarchical information contained in a IOItemBrowseTreeNode in Swing's JTree component. All methods in this class holding state information about the IO node, simply delegates to the similar method on an IOItemBrowseTreeNode instance. Please note that this object extends the DefaultMutableTreeNode object

Example of using JTreeIOTreeNode:

 OpcClientApi server = new OpcClientApi("ICONICS.Simulator");
 JTree tree = new JTree(new String[] {});
 // don't show the root node
 tree.setRootVisible(false);
// Get the items and groups from the OPC server. IOItemBrowseTreeNode ioTop = server.getServerItemsInfo();
// Wrap the IOItemBrowseTreeNode by using the adapter JTreeIOTreeNode. // This adapter will make IOItemBrowseTreeNode look like normal TreeNodes // directly insertable into the JTree Swing component as a normal root node DefaultMutableTreeNode top = new JTreeIOTreeNode(ioTop); DefaultTreeModel treeModel = (DefaultTreeModel )tree.getModel(); treeModel.setRoot(top); // reload the model treeModel.reload();
The full source of this class is as follows:
 public class JTreeIOTreeNode extends DefaultMutableTreeNode {
   public JTreeIOTreeNode(IOItemBrowseTreeNode ioNode) {
     super(ioNode); // set the IOItemBrowseTreeNode as user object
 
     // run through all child nodes and create wrappers for these objects aswell
     Enumeration childEnum = ioNode.children();
     for (Enumeration e = ioNode.children(); e.hasMoreElements() ;) {
       IOItemBrowseTreeNode cIONode = (IOItemBrowseTreeNode )e.nextElement();
       this.add(new JTreeIOTreeNode(cIONode));
     }
   }
 
   // Returns true if the receiver allows children.
   public boolean getAllowsChildren() {
     // delegate to user object
     return ((IOItemBrowseTreeNode )this.getUserObject()).getAllowsChildren();
   }
 
   // Returns true if the receiver is a leaf
   public boolean isLeaf() {
     return ((IOItemBrowseTreeNode )this.getUserObject()).isLeaf();
   }
 }
 

See Also:
OpcClientApi.getServerInfo(), Serialized Form

Field Summary
 
Fields inherited from class javax.swing.tree.DefaultMutableTreeNode
allowsChildren, children, EMPTY_ENUMERATION, parent, userObject
 
Constructor Summary
JTreeIOTreeNode(IOItemBrowseTreeNode ioNode)
          Creates a new JTreeIOTreeNode instance based on the specified IOItemBrowseTreeNode object.
 
Method Summary
 boolean getAllowsChildren()
          Returns true if the receiver allows children.
 boolean isLeaf()
          Returns true if the receiver is a leaf
 
Methods inherited from class javax.swing.tree.DefaultMutableTreeNode
add, breadthFirstEnumeration, children, clone, depthFirstEnumeration, getChildAfter, getChildAt, getChildBefore, getChildCount, getDepth, getFirstChild, getFirstLeaf, getIndex, getLastChild, getLastLeaf, getLeafCount, getLevel, getNextLeaf, getNextNode, getNextSibling, getParent, getPath, getPathToRoot, getPreviousLeaf, getPreviousNode, getPreviousSibling, getRoot, getSharedAncestor, getSiblingCount, getUserObject, getUserObjectPath, insert, isNodeAncestor, isNodeChild, isNodeDescendant, isNodeRelated, isNodeSibling, isRoot, pathFromAncestorEnumeration, postorderEnumeration, preorderEnumeration, remove, remove, removeAllChildren, removeFromParent, setAllowsChildren, setParent, setUserObject, toString
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

JTreeIOTreeNode

public JTreeIOTreeNode(IOItemBrowseTreeNode ioNode)
Creates a new JTreeIOTreeNode instance based on the specified IOItemBrowseTreeNode object. The new JTreeIOTreeNode will contain all the hierarchical data contained within the specified IOItemBrowseTreeNode parameter, ie. a hierarchi of new objects will be created and may instantly be given to a JTree() instance.

Parameters:
ioNode - an IOItemBrowseTreeNode value
Method Detail

getAllowsChildren

public boolean getAllowsChildren()
Returns true if the receiver allows children.

Returns:
a boolean value

isLeaf

public boolean isLeaf()
Returns true if the receiver is a leaf

Returns:
a boolean value