All Packages Class Hierarchy This Package Previous Next Index WEKA's home
Class weka.gui.HierarchyPropertyParser
java.lang.Object
|
+----weka.gui.HierarchyPropertyParser
- public class HierarchyPropertyParser
- extends java.lang.Object
- implements java.io.Serializable
This class implements a parser to read properties that have
a hierarchy(i.e. tree) structure. Conceptually it's similar to
the XML DOM/SAX parser but of course is much simpler and
uses dot as the seperator of levels instead of back-slash.
It provides interfaces to both build a parser tree and traverse
the tree.
Note that this implementation does not lock the tree when different
threads are traversing it simultaneously, i.e. it's NOT synchronized
and multi-thread safe. It is recommended that later implementation
extending this class provide a locking scheme and override the
functions with the "synchronized" modifier (most of them are
goToXXX() and information accessing functions).
- Version:
- $Revision: 1.2 $
- Author:
- Xin Xu (xx5@cs.waikato.ac.nz)
HierarchyPropertyParser()
- Default constructor
HierarchyPropertyParser(String, String)
- Constructor that builds a tree from the given property with
the given delimitor
add(String)
- Add the given item of property to the tree
build(String, String)
- Build a tree from the given property with the given delimitor
childrenValues()
- The value in the children nodes.
contains(String)
- Whether the HierarchyPropertyParser contains the given
string
context()
- The context of the current node, i.e.
depth()
- Get the depth of the tree, i.e.
fullValue()
- The full value of the current node, i.e.
getLevel()
- Get the level of current node.
getSeperator()
- Get the seperator between levels.
getValue()
- Get the value of current node
goDown(String)
- Go to a certain node of the tree down from the current node
according to the specified relative path.
goTo(String)
- Go to a certain node of the tree according to the specified path
Note that the path must be absolute path from the root.
goToChild(int)
- Go to one child node from the current position in the tree
according to the given position
goToChild(String)
- Go to one child node from the current position in the tree
according to the given value
If the child node with the given value cannot be found it
returns false, true otherwise.
goToParent()
- Go to the parent from the current position in the tree
If the current position is the root, it stays there and does
not move
goToRoot()
- Go to the root of the tree
isHierachic(String)
- Whether the given string has a hierachy structure with
the seperators
isLeafReached()
- Whether the current position is a leaf
isRootReached()
- Whether the current position is the root
main(String[])
- Tests out the parser.
numChildren()
- The number of the children nodes.
parentValue()
- The value in the parent node.
search(Vector, String)
- Helper function to search for the given target string in a
given vector in which the elements' value may hopefully is equal
to the target.
setSeperator(String)
- Set the seperator between levels.
showTree()
- Show the whole tree in text format
tokenize(String)
- Tokenize the given string based on the seperator and
put the tokens into an array of strings
HierarchyPropertyParser
public HierarchyPropertyParser()
Default constructor
HierarchyPropertyParser
public HierarchyPropertyParser(java.lang.String p,
java.lang.String delim) throws java.lang.Exception
Constructor that builds a tree from the given property with
the given delimitor
- Parameters:
p - the given property string
delim - the given dilimitor
setSeperator
public void setSeperator(java.lang.String s)
Set the seperator between levels. Default is dot.
- Parameters:
s - the seperator symbol
getSeperator
public java.lang.String getSeperator()
Get the seperator between levels. Default is dot.
- Returns:
- the seperator symbol
build
public void build(java.lang.String p,
java.lang.String delim) throws java.lang.Exception
Build a tree from the given property with the given delimitor
- Parameters:
p - the given property
delim - the given delimitor
add
public void add(java.lang.String property)
Add the given item of property to the tree
- Parameters:
property - the given item
tokenize
public java.lang.String[] tokenize(java.lang.String rawString)
Tokenize the given string based on the seperator and
put the tokens into an array of strings
- Parameters:
rawString - the given string
- Returns:
- an array of strings
contains
public boolean contains(java.lang.String string)
Whether the HierarchyPropertyParser contains the given
string
- Parameters:
string - the given string
- Returns:
- whether contains
isHierachic
public boolean isHierachic(java.lang.String string)
Whether the given string has a hierachy structure with
the seperators
- Parameters:
string - the given string
search
public int search(java.util.Vector vct,
java.lang.String target)
Helper function to search for the given target string in a
given vector in which the elements' value may hopefully is equal
to the target. If such elements are found the first index
is returned, otherwise -1
- Parameters:
vct - the given vector
target - the given target string
- Returns:
- the index of the found element, -1 if not found
goTo
public boolean goTo(java.lang.String path)
Go to a certain node of the tree according to the specified path
Note that the path must be absolute path from the root.
For relative path, see goDown(String path).
- Parameters:
path - the given absolute path
- Returns:
- whether the path exists, if false the current position does
not move
goDown
public boolean goDown(java.lang.String path)
Go to a certain node of the tree down from the current node
according to the specified relative path. The path does not
contain the value of current node
- Parameters:
path - the given relative path
- Returns:
- whether the path exists, if false the current position does
not move
goToRoot
public void goToRoot()
Go to the root of the tree
goToParent
public void goToParent()
Go to the parent from the current position in the tree
If the current position is the root, it stays there and does
not move
goToChild
public boolean goToChild(java.lang.String value)
Go to one child node from the current position in the tree
according to the given value
If the child node with the given value cannot be found it
returns false, true otherwise. If false, the current position
does not change
- Parameters:
value - the value of the given child
- Returns:
- whether the child can be found
goToChild
public void goToChild(int pos) throws java.lang.Exception
Go to one child node from the current position in the tree
according to the given position
- Parameters:
pos - the position of the given child
- Throws:
- if - the position is out of range or leaf is reached
numChildren
public int numChildren()
The number of the children nodes. If current node is leaf, it
returns 0.
- Returns:
- the number of the children nodes of the current position
childrenValues
public java.lang.String[] childrenValues()
The value in the children nodes. If current node is leaf, it
returns null.
- Returns:
- the value in the children nodes
parentValue
public java.lang.String parentValue()
The value in the parent node. If current node is root, it
returns null.
- Returns:
- the value in the parent node
isLeafReached
public boolean isLeafReached()
Whether the current position is a leaf
- Returns:
- whether the current position is a leaf
isRootReached
public boolean isRootReached()
Whether the current position is the root
- Returns:
- whether the current position is the root
getValue
public java.lang.String getValue()
Get the value of current node
- Returns:
- value level
getLevel
public int getLevel()
Get the level of current node. Note the level starts from 0
- Returns:
- the level
depth
public int depth()
Get the depth of the tree, i.e. (the largest level)+1
- Returns:
- the depth of the tree
context
public java.lang.String context()
The context of the current node, i.e. the path from the
root to the parent node of the current node, seperated by
the seperator. If root, it returns null
- Returns:
- the context path
fullValue
public java.lang.String fullValue()
The full value of the current node, i.e. its context + seperator
+ its value. For root, only its value.
- Returns:
- the context path
showTree
public java.lang.String showTree()
Show the whole tree in text format
- Returns:
- the whole tree in text format
main
public static void main(java.lang.String args[])
Tests out the parser.
- Parameters:
args - should contain nothing
All Packages Class Hierarchy This Package Previous Next Index WEKA's home