Package com.sun.javatest
Interface TestResultTable.TreeNode
-
- All Known Implementing Classes:
TRT_TreeNode
- Enclosing class:
- TestResultTable
public static interface TestResultTable.TreeNode
Interface to a node which contitutes the skeleton of the test result tree. These are in most cases equivalent to directories or folders.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
addObserver(TestResultTable.TreeNodeObserver obs)
Add a observer for this particular node.java.lang.Object
getChild(int index)
Get the child at the specified location.int
getChildCount()
Find out how many children this node contains.int[]
getChildStatus()
Get the statistics for the state of tests under this node.TestResultTable
getEnclosingTable()
Find out what TestResultTable this node is part of.int
getIndex(java.lang.Object target)
Search for a specific item in this node.java.lang.String
getName()
The name of this node, not including all the ancestors names.TestResultTable.TreeNode
getParent()
Get the parent of this node.int
getSize()
Find out how many nodes are contained in this one and below.TestResult[]
getTestResults()
Get any immediate children of this node which are test result objects.TestResultTable.TreeNode[]
getTreeNodes()
Get any immediate children of this node which are tree nodes.boolean
isLeaf(int index)
Is the given element of this node a leaf.boolean
isRoot()
Is this the root of a tree.boolean
isUpToDate()
Has the finder been used to scan this node from secondary storage?.TestResult
matchTest(java.lang.String url)
Finds a TestResult in this node with the given name.void
removeObserver(TestResultTable.TreeNodeObserver obs)
Add a observer for this particular node.
-
-
-
Method Detail
-
addObserver
void addObserver(TestResultTable.TreeNodeObserver obs)
Add a observer for this particular node.- Parameters:
obs
- The observer to attach to this node. Should never be null.
-
removeObserver
void removeObserver(TestResultTable.TreeNodeObserver obs)
Add a observer for this particular node.- Parameters:
obs
- The observer to remove. No effect if it was never attached.
-
getSize
int getSize()
Find out how many nodes are contained in this one and below. Use with care, this may be a high overhead call.- Returns:
- The number of tests under this node.
-
getParent
TestResultTable.TreeNode getParent()
Get the parent of this node.- Returns:
- Null if this is the root. Another TreeNode otherwise.
-
isRoot
boolean isRoot()
Is this the root of a tree. A parent of null indicates this state.- Returns:
- True if this is the root node, false otherwise.
-
getEnclosingTable
TestResultTable getEnclosingTable()
Find out what TestResultTable this node is part of.- Returns:
- The TRT instance which this node is contained.
-
isUpToDate
boolean isUpToDate()
Has the finder been used to scan this node from secondary storage?. This is an important performance consideration, since reading nodes may cause a noticable pause. This method may allow you to defer performance penalties. This method has no effect if a finder is not being used by the TestResultTable.- Returns:
- True if this location in tree has already been processed, false otherwise.
-
getChildCount
int getChildCount()
Find out how many children this node contains. If you invoke this on a node which is being lazily read from a TestFinder, this may cause a synchronous retrieval of data from the TestFinder.- Returns:
- The number of immediate children this node has.
-
getChild
java.lang.Object getChild(int index)
Get the child at the specified location. May be either a TestResult or TreeNode. If you invoke this on a node which is being lazily read from a TestFinder, this may cause a synchronous retrieval of data from the TestFinder.- Parameters:
index
- The location to retrieve.- Returns:
- Null if there are no children here or the specified index if out of range.
-
getTestResults
TestResult[] getTestResults()
Get any immediate children of this node which are test result objects.- Returns:
- List of TestResult objects in this node. null if none
-
getTreeNodes
TestResultTable.TreeNode[] getTreeNodes()
Get any immediate children of this node which are tree nodes.- Returns:
- List of children nodes objects in this node. null if none
-
getName
java.lang.String getName()
The name of this node, not including all the ancestors names. This does not return a URL to this node from the root.- Returns:
- Immediate name of this node, not the full name.
- See Also:
TestResultTable.getRootRelativePath(com.sun.javatest.TestResultTable.TreeNode)
-
isLeaf
boolean isLeaf(int index)
Is the given element of this node a leaf. In general this means that the element is a TestResult. It may also mean that the TreeNode is empty, which indicates a testsuite which is not well designed and needs trimming.- Parameters:
index
- The element index of this node. An out of range index will return false.- Returns:
- True if the element at the given index is a leaf.
-
getChildStatus
int[] getChildStatus()
Get the statistics for the state of tests under this node.- Returns:
- An array of length Status.NUM_STATES, positionally representing the number of tests under this node with that state.
-
getIndex
int getIndex(java.lang.Object target)
Search for a specific item in this node.- Parameters:
target
- The target object should either be of type TreeNode or TestResult- Returns:
- The index at which the target object is located in this node. -1 if not found in in this node. -2 if the parameter is null
-
matchTest
TestResult matchTest(java.lang.String url)
Finds a TestResult in this node with the given name. This is a match against the test URL, not the filename. This is not recursive of course; it just does a straight match against all tests in this node.- Parameters:
url
- The full name of the test to find.- Returns:
- The matching test result object, or null if not found. Also null if this node has no children.
- See Also:
TestDescription.getRootRelativeURL()
-
-