Package weka.core

# Class Trie.TrieNode

java.lang.Object
javax.swing.tree.DefaultMutableTreeNode
weka.core.Trie.TrieNode

All Implemented Interfaces:
  `Serializable`, `Cloneable`, `MutableTreeNode`, `TreeNode`, `RevisionHandler`

Enclosing class:
  `Trie`

public static class Trie.TrieNode extends DefaultMutableTreeNode implements RevisionHandler
Represents a node in the trie.

Version:
  $Revision: 1.2 $
Author:
  fracpete (fracpete at waikato dot ac dot nz)
See Also:
  - Serialized Form

## Field Summary

Fields
Modifier and Type
Field
Description
`static final Character`
`STOP`
the stop character

### Fields inherited from class javax.swing.tree.DefaultMutableTreeNode

`EMPTY_ENUMERATION`

## Constructor Summary

Constructors
Constructor
Description
`TrieNode(char c)`
initializes the node
`TrieNode(Character c)`
initializes the node

## Method Summary

Modifier and Type
Method
Description
`boolean`
`add(String suffix)`
adds the given string to its children (creates children if necessary)
`Object`
`clone()`
creates a deep copy of itself
`boolean`
`contains(String suffix)`
checks whether a suffix can be found in its children
`boolean`
`equals(Object obj)`
Indicates whether some other object is "equal to" this one.
`Trie.TrieNode`
`find(String suffix)`
returns the node with the given suffix
`Character`
`getChar()`
returns the stored character
`String`
`getCommonPrefix()`
returns the common prefix for all the nodes starting with this node.
`String`
`getCommonPrefix(String startPrefix)`
returns the common prefix for all the nodes starting with the node for the specified prefix.
`String`
`getRevision()`
Returns the revision string.
`String`
`getString()`
returns the full string up to the root
`boolean`
`remove(String suffix)`
Removes a suffix from the trie.
`void`
`setChar(Character value)`
sets the character this node represents
`int`
`size()`
returns the number of stored strings, i.e., leaves
`String`
`toString()`
returns the node in a string representation

### Methods inherited from class javax.swing.tree.DefaultMutableTreeNode

`add, breadthFirstEnumeration, children, depthFirstEnumeration, getAllowsChildren, getChildAfter, getChildAt, getChildBefore, getChildCount, getDepth, getFirstChild, getFirstLeaf, getIndex, getLastChild, getLastLeaf, getLeafCount, getLevel, getNextLeaf, getNextNode, getNextSibling, getParent, getPath, getPreviousLeaf, getPreviousNode, getPreviousSibling, getRoot, getSharedAncestor, getSiblingCount, getUserObject, getUserObjectPath, insert, isLeaf, isNodeAncestor, isNodeChild, isNodeDescendant, isNodeRelated, isNodeSibling, isRoot, pathFromAncestorEnumeration, postorderEnumeration, preorderEnumeration, remove, remove, removeAllChildren, removeFromParent, setAllowsChildren, setParent, setUserObject`

### Methods inherited from class java.lang.Object

`getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Field Details

### STOP

public static final Character STOP
the stop character

## Constructor Details

### TrieNode

public TrieNode(char c)
initializes the node

Parameters:
  `c` - the value of this node

### TrieNode

public TrieNode(Character c)
initializes the node

Parameters:
  `c` - the value of this node

## Method Details

### getChar

public Character getChar()
returns the stored character

Returns:
  the stored character

### setChar

public void setChar(Character value)
sets the character this node represents

Parameters:
  `value` - the character to store

### add

public boolean add(String suffix)
adds the given string to its children (creates children if necessary)

Parameters:
  `suffix` - the suffix to add to its children
Returns:
  true if the add operation changed the structure

### remove

public boolean remove(String suffix)
Removes a suffix from the trie.

Parameters:
  `suffix` - the suffix to remove
Returns:
  true if this trie changed as a result of the call

### contains

public boolean contains(String suffix)
checks whether a suffix can be found in its children

Parameters:
  `suffix` - the suffix to look for
Returns:
  true if suffix was found

### clone

public Object clone()
creates a deep copy of itself

Overrides:
  `clone` in class `DefaultMutableTreeNode`
Returns:
  a deep copy of itself

### equals

public boolean equals(Object obj)
Indicates whether some other object is "equal to" this one.

Overrides:
  `equals` in class `Object`
Parameters:
  `obj` - the object to check for equality
Returns:
  true if equal

### find

public Trie.TrieNode find(String suffix)
returns the node with the given suffix

Parameters:
  `suffix` - the suffix to look for
Returns:
  null if unsuccessful otherwise the corresponding node

### getCommonPrefix

public String getCommonPrefix()
returns the common prefix for all the nodes starting with this node. The result includes this node, unless it's the root node or a STOP node.

Returns:
  the result of the search

### getCommonPrefix

public String getCommonPrefix(String startPrefix)
returns the common prefix for all the nodes starting with the node for the specified prefix. Can be null if initial prefix is not found. The result includes this node, unless it's the root node or a STOP node. Using the empty string means starting with this node.

Parameters:
  `startPrefix` - the prefix of the node to start the search from
Returns:
  the result of the search, null if startPrefix cannot be found

### size

public int size()
returns the number of stored strings, i.e., leaves

Returns:
  the number of stored strings

### getString

public String getString()
returns the full string up to the root

Returns:
  the full string to the root

### toString

public String toString()
returns the node in a string representation

Overrides:
  `toString` in class `DefaultMutableTreeNode`
Returns:
  the node as string

### getRevision

public String getRevision()
Returns the revision string.

Specified by:
  `getRevision` in interface `RevisionHandler`
Returns:
  the revision