Class PathTree<P extends Path,T> 
java.lang.Object
com.inductiveautomation.ignition.common.PathTree<P,T> 
- All Implemented Interfaces:
- Serializable
- Direct Known Subclasses:
- TagPathTree,- TagStructureTree
- See Also:
- 
Nested Class SummaryNested Classes
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionEssentially an alias for getChildren(path), though wraps the results in a list.voidclear()Clears the entire tree.computeIfAbsent(P path, Function<P, T> supplier) Locates the node at the given path.Returns the value at the given path.getBranches(P path) Returns the keys for the branches beneath the given point.getBranches(P path, boolean foldersOnly) Returns the keys for the branches beneath the given point.<R extends T>
 Collection<R>getChildren(P path) Returns the children under a given path.getRoot()Object[]getValuesOfPath(P path) Returns all of the node values from the tree nodes along the specified path.booleanbooleanInserts the value at the given path.Removes the given path, and returns the value that was associated with the path, if applicable.removeIfEmpty(P path) Removes the value, and if there are no children, removes the node from the tree.voidsetCaseSensitive(boolean value) If set to true (value is false by default), the branches of the tree will be different based on case.intsize()Calculates the size of this tag tree.
- 
Constructor Details- 
PathTreepublic PathTree()
 
- 
- 
Method Details- 
getRoot
- 
instantiateNode
- 
isCaseSensitivepublic boolean isCaseSensitive()
- 
setCaseSensitivepublic void setCaseSensitive(boolean value) If set to true (value is false by default), the branches of the tree will be different based on case.
- 
sizepublic int size()Calculates the size of this tag tree. Note that this is not thread safe and is not efficient!
- 
browseEssentially an alias for getChildren(path), though wraps the results in a list.
- 
getChildrenReturns the children under a given path. Used for browsing. Will never return null, just an empty collection if there are no children or the path doesn't exist.
- 
getBranchesReturns the keys for the branches beneath the given point. Returns empty list if the point is not found, or there are no branches.
- 
getBranchesReturns the keys for the branches beneath the given point. Returns empty list if the point is not found, or there are no branches. If foldersOnly is true, will only return children that have null leaf values.
- 
putInserts the value at the given path. Returns whether or not the insertion was successful. Intermediary nodes will be created implicitly, and subclasses can customize their values by overriding instantiateNode.
- 
getReturns the value at the given path. If the path is null, the root value is returned.
- 
computeIfAbsent
- 
removeRemoves the given path, and returns the value that was associated with the path, if applicable.
- 
removeIfEmptyRemoves the value, and if there are no children, removes the node from the tree.
- 
clearpublic void clear()Clears the entire tree.
- 
getValuesOfPathReturns all of the node values from the tree nodes along the specified path. The return length will be the path length + 1 (the root/null value), even if the node doesn't exist. Any tree node that doesn't exist or doesn't have a value will have a null entry.- Parameters:
- path- the path to locate
- Returns:
- an array whose bounds are equal to path.getPathLength()+1. Index 0 is the null/root value. Each array element represents the value at a given location in the tree, and will be null if the node does not exist.
 
- 
findNodeLocates the node at the given path. Will insert nodes as necessary, if create is true. Otherwise will return null if the path doesn't exist.
- 
findNode
 
-