com.metamatrix.common.tree
Class AbstractTreeView

java.lang.Object
  extended by com.metamatrix.common.tree.AbstractTreeView
All Implemented Interfaces:
PropertiedObjectView, UserTransactionFactory, TreeView
Direct Known Subclasses:
RuledTreeViewImpl

public abstract class AbstractTreeView
extends java.lang.Object
implements TreeView


Constructor Summary
AbstractTreeView()
           
 
Method Summary
abstract  UserTransaction createReadTransaction()
          Create a new instance of a UserTransaction that may be used to read information.
abstract  UserTransaction createWriteTransaction()
          Create a new instance of a UserTransaction that may be used to write and/or update information.
abstract  UserTransaction createWriteTransaction(java.lang.Object source)
          Create a new instance of a UserTransaction that may be used to write and/or update information.
abstract  java.util.List getChildren(TreeNode parent)
          Obtain the set of entries that are considered the children of the specified TreeNode.
 java.util.Comparator getComparator()
          Return the comparator used to order for children returned from this view.
 TreeNodeFilter getFilter()
          Return the filter that is being used by this view.
abstract  TreeNode getHome()
          Obtain the DirectoryEntry that represents the home for the underlying system.
abstract  TreeNode getParent(TreeNode node)
          Determine the parent TreeNode for the specified node, or null if the specified node is a root.
abstract  java.lang.String getPath(TreeNode node)
          Obtain the abstract path for this TreeNode.
abstract  PropertiedObjectEditor getPropertiedObjectEditor()
          Return the propertied object editor for this view.
abstract  java.util.List getPropertyDefinitions()
          Get the definitions of the properties for the TreeNode instances returned from this view.
abstract  java.util.List getRoots()
          Returns the single root of this TreeNode system.
abstract  java.lang.String getSeparator()
          Obtain the character (as a String) that is used to separate names in a path sequence for the abstract path.
abstract  char getSeparatorChar()
          Obtain the character that is used to separate names in a path sequence for the abstract path.
abstract  TreeNodeEditor getTreeNodeEditor()
          Return the tree node editor for this view.
abstract  boolean isAncestorOf(TreeNode ancestor, TreeNode descendent)
          Determine whether the specified node is a descendent of the given ancestor node.
abstract  boolean isHidden(TreeNode node)
          Determine whether the specified TreeNode is hidden.
abstract  boolean isMarked(TreeNode node)
          Return the marked state of the specified node.
abstract  boolean isParentOf(TreeNode parent, TreeNode child)
          Determine whether the specified node is a child of the given parent node.
 boolean isRoot(TreeNode node)
          Determine whether the specified TreeNode is a root of the underlying system.
 java.util.Iterator iterator()
          Obtain an iterator for this whole view, which navigates the view's nodes using pre-order rules (i.e., it visits a node before its children).
 java.util.Iterator iterator(TreeNode startingPoint)
          Obtain an iterator for the view starting at the specified node.
 void setComparator(java.util.Comparator comparator)
          Set the comparator that should be used to order the children.
 void setFilter(TreeNodeFilter filter)
          Set the filter that limits the set of TreeNode instances returned from this view.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.metamatrix.common.tree.TreeView
allowsChild, allowsChildren, getMarked, setMarked
 

Constructor Detail

AbstractTreeView

public AbstractTreeView()
Method Detail

setFilter

public void setFilter(TreeNodeFilter filter)
Set the filter that limits the set of TreeNode instances returned from this view.

Specified by:
setFilter in interface TreeView
Parameters:
filter - the filter, or null if the default "pass-through" filter should be used.

getFilter

public TreeNodeFilter getFilter()
Return the filter that is being used by this view.

Specified by:
getFilter in interface TreeView
Returns:
the current filter; never null

setComparator

public void setComparator(java.util.Comparator comparator)
Set the comparator that should be used to order the children.

Specified by:
setComparator in interface TreeView
Parameters:
comparator - the comparator, or null if node path sorting should be used.

getComparator

public java.util.Comparator getComparator()
Return the comparator used to order for children returned from this view.

Specified by:
getComparator in interface TreeView
Returns:
the current comparator; never null

getPropertyDefinitions

public abstract java.util.List getPropertyDefinitions()
Get the definitions of the properties for the TreeNode instances returned from this view.

Specified by:
getPropertyDefinitions in interface TreeView
Returns:
the unmodifiable list of PropertyDefinition instances; never null

getRoots

public abstract java.util.List getRoots()
Returns the single root of this TreeNode system.

Specified by:
getRoots in interface TreeView
Returns:
the unmodifiable list of TreeNode instances that represent the root of this view.

isRoot

public boolean isRoot(TreeNode node)
Determine whether the specified TreeNode is a root of the underlying system.

Specified by:
isRoot in interface TreeView
Parameters:
node - the TreeNode instance that is to be checked; may not be null
Returns:
true if the node is a root, or false otherwise.

isHidden

public abstract boolean isHidden(TreeNode node)
Determine whether the specified TreeNode is hidden.

Specified by:
isHidden in interface TreeView
Parameters:
node - the TreeNode instance that is to be checked; may not be null
Returns:
true if the node is hidden, or false otherwise.

isMarked

public abstract boolean isMarked(TreeNode node)
Return the marked state of the specified node.

Specified by:
isMarked in interface TreeView
Returns:
the marked state of the node.

getHome

public abstract TreeNode getHome()
Obtain the DirectoryEntry that represents the home for the underlying system. If the underlying system does not support a home entry concept, null is returned.

Specified by:
getHome in interface TreeView
Returns:
the entry that represents the home, or null if no home concept is supported.

getPath

public abstract java.lang.String getPath(TreeNode node)
Obtain the abstract path for this TreeNode.

Specified by:
getPath in interface TreeView
Returns:
the string that represents the abstract path of this node; never null

getSeparatorChar

public abstract char getSeparatorChar()
Obtain the character that is used to separate names in a path sequence for the abstract path. This character is completely dependent upon the implementation.

Specified by:
getSeparatorChar in interface TreeView
Returns:
the charater used to delimit names in the abstract path.

getSeparator

public abstract java.lang.String getSeparator()
Obtain the character (as a String) that is used to separate names in a path sequence for the abstract path.

Specified by:
getSeparator in interface TreeView
Returns:
the string containing the charater used to delimit names in the abstract path; never null

getParent

public abstract TreeNode getParent(TreeNode node)
Determine the parent TreeNode for the specified node, or null if the specified node is a root.

Specified by:
getParent in interface TreeView
Parameters:
node - the TreeNode instance for which the parent is to be obtained; may not be null
Returns:
the parent node, or null if there is no parent

getChildren

public abstract java.util.List getChildren(TreeNode parent)
Obtain the set of entries that are considered the children of the specified TreeNode.

Specified by:
getChildren in interface TreeView
Parameters:
parent - the TreeNode instance for which the child entries are to be obtained; may not be null
Returns:
the unmodifiable list of TreeNode instances that are considered the children of the specified node; never null but possibly empty

isParentOf

public abstract boolean isParentOf(TreeNode parent,
                                   TreeNode child)
Determine whether the specified node is a child of the given parent node.

Specified by:
isParentOf in interface TreeView
Returns:
true if the node is a child of the given parent node.

isAncestorOf

public abstract boolean isAncestorOf(TreeNode ancestor,
                                     TreeNode descendent)
Determine whether the specified node is a descendent of the given ancestor node.

Specified by:
isAncestorOf in interface TreeView
Returns:
true if the node is a descendent of the given ancestor node.

getPropertiedObjectEditor

public abstract PropertiedObjectEditor getPropertiedObjectEditor()
Return the propertied object editor for this view.

Specified by:
getPropertiedObjectEditor in interface PropertiedObjectView
Returns:
the PropertiedObjectEditor instance

getTreeNodeEditor

public abstract TreeNodeEditor getTreeNodeEditor()
Return the tree node editor for this view.

Specified by:
getTreeNodeEditor in interface TreeView
Returns:
the TreeNodeEditor instance

createReadTransaction

public abstract UserTransaction createReadTransaction()
Create a new instance of a UserTransaction that may be used to read information. Read transactions do not have a source object associated with them (since they never directly modify data).

Specified by:
createReadTransaction in interface UserTransactionFactory
Returns:
the new transaction object

createWriteTransaction

public abstract UserTransaction createWriteTransaction()
Create a new instance of a UserTransaction that may be used to write and/or update information. The transaction will not have a source object associated with it.

Specified by:
createWriteTransaction in interface UserTransactionFactory
Returns:
the new transaction object

createWriteTransaction

public abstract UserTransaction createWriteTransaction(java.lang.Object source)
Create a new instance of a UserTransaction that may be used to write and/or update information. The source object will be used for all events that are fired as a result of or as a product of this transaction.

Specified by:
createWriteTransaction in interface UserTransactionFactory
Parameters:
source - the object that is considered to be the source of the transaction; may be null
Returns:
the new transaction object

iterator

public java.util.Iterator iterator()
Obtain an iterator for this whole view, which navigates the view's nodes using pre-order rules (i.e., it visits a node before its children).

Specified by:
iterator in interface TreeView
Returns:
the view iterator

iterator

public java.util.Iterator iterator(TreeNode startingPoint)
Obtain an iterator for the view starting at the specified node. This implementation currently navigates the subtree using pre-order rules (i.e., it visits a node before its children).

Specified by:
iterator in interface TreeView
Parameters:
startingPoint - the root of the subtree over which the iterator is to navigate; may not be null
Returns:
the iterator that traverses the nodes in the subtree starting at the specified node; never null


Copyright © 2009. All Rights Reserved.