FileDocCategorySizeDatePackage
ConsoleTreeModel.javaAPI DocJBoss 4.2.19014Fri Jul 13 21:02:14 BST 2007org.jboss.console.navtree

ConsoleTreeModel

public class ConsoleTreeModel extends Object implements TreeModel
TreeModel used to represent management information
see
org.jboss.console.navtree.AdminTreeBrowser
author
Sacha Labourey.
version
$Revision: 57191 $

Revisions:

17 decembre 2002 Sacha Labourey:

  • First implementation

Fields Summary
protected org.jboss.console.manager.interfaces.TreeInfo
tree
protected RootWrapper
root
protected Vector
treeModelListeners
protected TreeContext
context
protected TreeReopenerMemory
reopenerMemory
protected ObjectName
targetPM
Constructors Summary
public ConsoleTreeModel(TreeContext context)

   
   // Static --------------------------------------------------------
   
   // Constructors --------------------------------------------------
   
        
         
      //this.pluginMgrJmxName = context.getServiceJmxName();
      this.targetPM = new javax.management.ObjectName (context.getServiceJmxName());
      //this.ctx = new InitialContext (jndiProps);      
      this.context = context;
      //this.reopenerMemory = reopenerMemory;
      
      this.tree = loadTree ();      
      this.root = new RootWrapper (this.tree);
   
Methods Summary
public voidaddTreeModelListener(javax.swing.event.TreeModelListener l)
Adds a listener for the TreeModelEvent posted after the tree changes.

param
l the listener to add
see
#removeTreeModelListener

      treeModelListeners.addElement(l);
   
public org.jboss.console.manager.interfaces.TreeInfoconditionalLoadTree(long version)

     
      return (TreeInfo)context.getRemoteMBeanInvoker ().invoke (targetPM, "getUpdateTreeForProfile", 
            new Object[] {"WEB", new Long(version)}, 
            new String[] {"java.lang.String", "long"});
      //return getPM ().getUpdateTreeForProfile ("WEB", version);            
   
protected voidfireTreeStructureChanged(RootWrapper oldRoot)

        int len = treeModelListeners.size();
        
        javax.swing.event.TreeModelEvent e = new javax.swing.event.TreeModelEvent(this, 
                                              new Object[] {oldRoot});
        for (int i = 0; i < len; i++) {
            ((javax.swing.event.TreeModelListener)treeModelListeners.elementAt(i)).
                    treeStructureChanged(e);
        }
    
public java.lang.ObjectgetChild(java.lang.Object parent, int index)
Returns the child of parent at index index in the parent's child array. parent must be a node previously obtained from this data source. This should not return null if index is a valid index for parent (that is index >= 0 && index < getChildCount(parent)).

param
parent a node in the tree, obtained from this data source
return
the child of parent at index index

      NodeWrapper n = (NodeWrapper)parent;
      return n.getChild (index);
   
public intgetChildCount(java.lang.Object parent)
Returns the number of children of parent. Returns 0 if the node is a leaf or if it has no children. parent must be a node previously obtained from this data source.

param
parent a node in the tree, obtained from this data source
return
the number of children of the node parent

      NodeWrapper n = (NodeWrapper)parent;
      return n.getChildCount ();
   
public intgetIndexOfChild(java.lang.Object parent, java.lang.Object child)
Returns the index of child in parent. If parent is null or child is null, returns -1.

param
parent a note in the tree, obtained from this data source
param
child the node we are interested in
return
the index of the child in the parent, or -1 if either child or parent are null

      NodeWrapper n = (NodeWrapper)parent;
      return n.getIndexOfChild (child);
   
public java.lang.ObjectgetRoot()
Returns the root of the tree. Returns null only if the tree has no nodes.

return
the root of the tree

      return this.root;
   
public booleanisLeaf(java.lang.Object node)
Returns true if node is a leaf. It is possible for this method to return false even if node has no children. A directory in a filesystem, for example, may contain no files; the node representing the directory is not a leaf, but it also has no children.

param
node a node in the tree, obtained from this data source
return
true if node is a leaf

      NodeWrapper n = (NodeWrapper)node;
      return n.isLeaf ();
   
public org.jboss.console.manager.interfaces.TreeInfoloadTree()

      
      return (TreeInfo)context.getRemoteMBeanInvoker ().invoke (targetPM, "getTreeForProfile", 
            new Object[] {"WEB"}, 
            new String[] {"java.lang.String"});
      //return getPM ().getTreeForProfile ("WEB");
   
public booleanrefreshTree(boolean force)

      TreeInfo tmpTree = null;
      
      if (!force && this.tree != null)
      {
         // first check if that is necessary
         //
         tmpTree = conditionalLoadTree (this.tree.getTreeVersion());  
      }
      else
      {
         tmpTree = loadTree ();
      }
      
      if (tmpTree != null)
      {
         RootWrapper oldRoot = this.root;                  
         
         this.tree = tmpTree;
         this.root = new RootWrapper (this.tree);
         
         fireTreeStructureChanged (oldRoot);
         return true;
      }
      else
      {
         return false;
      }
   
public voidremoveTreeModelListener(javax.swing.event.TreeModelListener l)
Removes a listener previously added with addTreeModelListener.

see
#addTreeModelListener
param
l the listener to remove

        treeModelListeners.removeElement(l);
   
public voidvalueForPathChanged(javax.swing.tree.TreePath path, java.lang.Object newValue)
Messaged when the user has altered the value for the item identified by path to newValue. If newValue signifies a truly new value the model should post a treeNodesChanged event.

param
path path to the node that the user has altered
param
newValue the new value from the TreeCellEditor

      // not used