Package org.apache.jorphan.collections
Class ListedHashTree
java.lang.Object
org.apache.jorphan.collections.HashTree
org.apache.jorphan.collections.ListedHashTree
- All Implemented Interfaces:
Serializable
,Cloneable
,Map<Object,
HashTree>
ListedHashTree is a different implementation of the
HashTree
collection class. In the ListedHashTree, the order in which values are added
is preserved . Any listing of nodes
or iteration through the list of nodes of a ListedHashTree will be given in
the order in which the nodes were added to the tree.- See Also:
-
Nested Class Summary
-
Field Summary
-
Constructor Summary
ConstructorDescriptionListedHashTree
(Object key) ListedHashTree
(Object[] keys) ListedHashTree
(Collection<?> keys) -
Method Summary
Modifier and TypeMethodDescriptionAdds an key into the HashTree at the current level.void
clear()
Clears the HashTree of all contents.clone()
Create a clone of this HashTree.Creates a new tree.createNewTree
(Object key) Creates a new tree.createNewTree
(Collection<?> values) Creates a new tree.boolean
Compares all objects in the tree and verifies that the two trees contain the same objects at the same tree levels.Object[]
getArray()
Gets an array of all keys in the current HashTree node.Gets the HashTree mapped to the given key.int
hashCode()
Returns a hashcode for this HashTree.list()
Gets a Collection of all keys in the current HashTree node.Removes the entire branch specified by the given key.void
replaceKey
(Object currentKey, Object newKey) Finds the given current key, and replaces it with the given new key.void
Sets a key and it's value in the HashTree.void
Sets a key and its values in the HashTree.void
set
(Object key, Collection<?> values) Sets a key and its values in the HashTree.void
Sets a key into the current tree and assigns it a HashTree as its subtree.Methods inherited from class org.apache.jorphan.collections.HashTree
add, add, add, add, add, add, add, add, add, add, add, add, add, addTreePath, cloneTree, containsKey, containsValue, entrySet, get, getArray, getArray, getArray, getTree, getTree, getTreePath, isEmpty, keySet, list, list, list, put, putAll, search, set, set, set, set, set, size, toString, traverse, values
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
-
Constructor Details
-
ListedHashTree
public ListedHashTree() -
ListedHashTree
-
ListedHashTree
-
ListedHashTree
-
-
Method Details
-
clone
Create a clone of this HashTree. This is not a deep clone (i.e., the contents of the tree are not cloned). -
getTree
Description copied from class:HashTree
Gets the HashTree mapped to the given key. -
set
Sets a key and it's value in the HashTree. It actually sets up a key, and then creates a node for the key and sets the value to the new node, as a key. Any previous nodes that existed under the given key are lost. -
set
Sets a key into the current tree and assigns it a HashTree as its subtree. Any previous entries under the given key are removed. -
set
Sets a key and its values in the HashTree. It sets up a key in the current node, and then creates a node for that key, and sets all the values in the array as keys in the new node. Any keys previously held under the given key are lost. -
set
Sets a key and its values in the HashTree. It sets up a key in the current node, and then creates a node for that key, and set all the values in the array as keys in the new node. Any keys previously held under the given key are removed. -
replaceKey
Finds the given current key, and replaces it with the given new key. Any tree structure found under the original key is moved to the new key.- Overrides:
replaceKey
in classHashTree
- Parameters:
currentKey
- name of the key to be replacednewKey
- name of the new key
-
createNewTree
Creates a new tree. This method exists to allow inheriting classes to generate the appropriate types of nodes. For instance, when a node is added, it's value is a HashTree. Rather than directly calling the HashTree() constructor, the createNewTree() method is called. Inheriting classes should override these methods and create the appropriate subclass of HashTree.- Overrides:
createNewTree
in classHashTree
- Returns:
- HashTree
-
createNewTree
Creates a new tree. This method exists to allow inheriting classes to generate the appropriate types of nodes. For instance, when a node is added, it's value is a HashTree. Rather than directly calling the HashTree() constructor, the createNewTree() method is called. Inheriting classes should override these methods and create the appropriate subclass of HashTree.- Overrides:
createNewTree
in classHashTree
- Parameters:
key
- object to use as the key for the top level- Returns:
- newly created
HashTree
-
createNewTree
Creates a new tree. This method exists to allow inheriting classes to generate the appropriate types of nodes. For instance, when a node is added, it's value is a HashTree. Rather than directly calling the HashTree() constructor, the createNewTree() method is called. Inheriting classes should override these methods and create the appropriate subclass of HashTree.- Overrides:
createNewTree
in classHashTree
- Parameters:
values
- objects to be added to the newHashTree
- Returns:
- newly created
HashTree
-
add
Adds an key into the HashTree at the current level. If a HashTree exists for the key already, no new tree will be added -
list
Gets a Collection of all keys in the current HashTree node. If the HashTree represented a file system, this would be like getting a collection of all the files in the current folder. -
remove
Removes the entire branch specified by the given key. -
getArray
Gets an array of all keys in the current HashTree node. If the HashTree represented a file system, this would be like getting an array of all the files in the current folder. -
hashCode
public int hashCode()Returns a hashcode for this HashTree. -
equals
Compares all objects in the tree and verifies that the two trees contain the same objects at the same tree levels. Returns true if they do, false otherwise. -
clear
public void clear()Clears the HashTree of all contents.
-