generated.docs.javadoc.org.eclipse.dawnsci.analysis.api.tree.GroupNode.html Maven / Gradle / Ivy
GroupNode (h5jan API)
org.eclipse.dawnsci.analysis.api.tree
Interface GroupNode
-
- All Known Subinterfaces:
- NXaperture, NXattenuator, NXbeam, NXbeam_stop, NXbending_magnet, NXcapillary, NXcite, NXcollection, NXcollimator, NXcontainer, NXcrystal, NXcylindrical_geometry, NXdata, NXdetector, NXdetector_group, NXdetector_module, NXdisk_chopper, NXelectrostatic_kicker, NXentry, NXenvironment, NXevent_data, NXfermi_chopper, NXfilter, NXflipper, NXfresnel_zone_plate, NXgeometry, NXgrating, NXguide, NXinsertion_device, NXinstrument, NXlog, NXmagnetic_kicker, NXmirror, NXmoderator, NXmonitor, NXmonochromator, NXnote, NXobject, NXoff_geometry, NXorientation, NXparameters, NXpinhole, NXpolarizer, NXpositioner, NXprocess, NXquadrupole_magnet, NXreflections, NXroot, NXsample, NXsample_component, NXsensor, NXseparator, NXshape, NXslit, NXsolenoid_magnet, NXsource, NXspin_rotator, NXsubentry, NXtransformations, NXtranslation, NXuser, NXvelocity_selector, NXxraylens
- All Known Implementing Classes:
- GroupNodeImpl, NXapertureImpl, NXattenuatorImpl, NXbeam_stopImpl, NXbeamImpl, NXbending_magnetImpl, NXcapillaryImpl, NXciteImpl, NXcollectionImpl, NXcollimatorImpl, NXcontainerImpl, NXcrystalImpl, NXcylindrical_geometryImpl, NXdataImpl, NXdetector_groupImpl, NXdetector_moduleImpl, NXdetectorImpl, NXdisk_chopperImpl, NXelectrostatic_kickerImpl, NXentryImpl, NXenvironmentImpl, NXevent_dataImpl, NXfermi_chopperImpl, NXfilterImpl, NXflipperImpl, NXfresnel_zone_plateImpl, NXgeometryImpl, NXgratingImpl, NXguideImpl, NXinsertion_deviceImpl, NXinstrumentImpl, NXlogImpl, NXmagnetic_kickerImpl, NXmirrorImpl, NXmoderatorImpl, NXmonitorImpl, NXmonochromatorImpl, NXnoteImpl, NXobjectImpl, NXoff_geometryImpl, NXorientationImpl, NXparametersImpl, NXpinholeImpl, NXpolarizerImpl, NXpositionerImpl, NXprocessImpl, NXquadrupole_magnetImpl, NXreflectionsImpl, NXrootImpl, NXsample_componentImpl, NXsampleImpl, NXsensorImpl, NXseparatorImpl, NXshapeImpl, NXslitImpl, NXsolenoid_magnetImpl, NXsourceImpl, NXspin_rotatorImpl, NXsubentryImpl, NXtransformationsImpl, NXtranslationImpl, NXuserImpl, NXvelocity_selectorImpl, NXxraylensImpl
public interface GroupNode
extends Node, java.lang.Iterable<NodeLink>
Node to group other nodes using node links
-
-
Method Summary
All Methods Instance Methods Abstract Methods
Modifier and Type
Method and Description
void
addDataNode(java.lang.String name,
DataNode d)
Add given data node with given path and name
void
addGroupNode(java.lang.String name,
GroupNode g)
Add (child) group node with given path and name
void
addNode(java.lang.String name,
Node node)
Add given node with given path and name
void
addNodeLink(NodeLink link)
Add node link
void
addSymbolicNode(java.lang.String name,
SymbolicNode s)
Add linked node with given path and name
boolean
containsDataNode(java.lang.String name)
boolean
containsGroupNode(java.lang.String name)
boolean
containsNode(java.lang.String name)
Returns whether this group contains a child node with the given name
boolean
containsSymbolicNode(java.lang.String name)
Returns whether this group node contains a symbolic node of the given name.
java.lang.String
findLinkedNodeName(Node node)
Find name of node linked to this group
NodeLink
findNodeLink(java.lang.String pathname)
Recursively find link to node given by path name
DataNode
getDataNode(java.lang.String name)
Get data node of given name.
java.util.Map<java.lang.String,DataNode>
getDataNodeMap()
Get all data nodes, keyed by name within this group node.
java.util.List<DataNode>
getDataNodes()
Get all data nodes.
java.util.List<ILazyDataset>
getDatasets(java.lang.String name)
Recursively find datasets of given name
java.util.Map<java.lang.Long,Node>
getGlobalPool()
GroupNode
getGroupNode(java.lang.String name)
Get (child) group node of given name.
java.util.Map<java.lang.String,GroupNode>
getGroupNodeMap()
Get (child) group nodes, as a map where the key is the name of that group node within
this (parent) group node.
java.util.List<GroupNode>
getGroupNodes()
Get (child) group nodes.
java.util.Collection<java.lang.String>
getNames()
Node
getNode(java.lang.String name)
Returns the child node of the given name, or null
if no such node exists.
NodeLink
getNodeLink(java.lang.String name)
java.util.Iterator<java.lang.String>
getNodeNameIterator()
int
getNumberOfDataNodes()
int
getNumberOfGroupNodes()
int
getNumberOfNodelinks()
SymbolicNode
getSymbolicNode(java.lang.String name)
Get (child) symbolic node of given name.
boolean
isPopulated()
java.util.Iterator<NodeLink>
iterator()
void
removeDataNode(DataNode d)
Remove the given data node from this group.
void
removeDataNode(java.lang.String name)
Remove the data node of given name.
void
removeGroupNode(GroupNode g)
Remove given group node
void
removeGroupNode(java.lang.String name)
Remove group node of given name
void
removeSymbolicNode(java.lang.String name)
Removes the symbolic node with the given name.
void
removeSymbolicNode(SymbolicNode s)
Removes the given symbolic node from this tree.
void
setGlobalPool(java.util.Map<java.lang.Long,Node> globalPool)
Set a reference to the global pool of nodes
-
Methods inherited from interface org.eclipse.dawnsci.analysis.api.tree.Node
addAttribute, containsAttribute, getAttribute, getAttributeIterator, getAttributeNameIterator, getID, getNumberOfAttributes, isDataNode, isGroupNode, isSymbolicNode
-
-
Method Detail
-
isPopulated
boolean isPopulated()
- Returns:
- true if it has been populated with any nodes
-
setGlobalPool
void setGlobalPool(java.util.Map<java.lang.Long,Node> globalPool)
Set a reference to the global pool of nodes
- Parameters:
globalPool
-
-
getGlobalPool
java.util.Map<java.lang.Long,Node> getGlobalPool()
- Returns:
- global pool of cached nodes
-
getNumberOfNodelinks
int getNumberOfNodelinks()
- Returns:
- number of node-links held in group
-
getNodeLink
NodeLink getNodeLink(java.lang.String name)
- Parameters:
name
-
- Returns:
- node link to child node of given name
-
addNodeLink
void addNodeLink(NodeLink link)
Add node link
- Parameters:
link
-
- Throws:
java.lang.IllegalArgumentException
- if node link of same name already exists but is of different type
-
addNode
void addNode(java.lang.String name,
Node node)
Add given node with given path and name
- Parameters:
name
-
node
-
- Throws:
java.lang.IllegalArgumentException
- if node of same name already exists but is of different type
-
getNode
Node getNode(java.lang.String name)
Returns the child node of the given name, or null
if no such node exists.
- Parameters:
name
- name of child node within this group node
- Returns:
- child node with given name if it exists, otherwise
null
-
containsNode
boolean containsNode(java.lang.String name)
Returns whether this group contains a child node with the given name
- Parameters:
name
- name
- Returns:
true
if this node contains a child node with the given name,
false
otherwise
-
getNumberOfGroupNodes
int getNumberOfGroupNodes()
- Returns:
- number of child groups in group
-
containsGroupNode
boolean containsGroupNode(java.lang.String name)
- Parameters:
name
-
- Returns:
- true if group contains child group of given name
-
getGroupNode
GroupNode getGroupNode(java.lang.String name)
Get (child) group node of given name. A SymbolicNode
with the
given name is resolved to its destination node.
- Parameters:
name
-
- Returns:
- group, or
null
if no such group exists
- Throws:
java.lang.IllegalArgumentException
- if a node exists with the given name but is not a group node
-
getGroupNodes
java.util.List<GroupNode> getGroupNodes()
Get (child) group nodes. Any SymbolicNode
s are resolved to their
destination nodes.
- Returns:
- groups
-
getGroupNodeMap
java.util.Map<java.lang.String,GroupNode> getGroupNodeMap()
Get (child) group nodes, as a map where the key is the name of that group node within
this (parent) group node. Any SymbolicNode
are resolved to their destination nodes.
- Returns:
- group node map
-
addGroupNode
void addGroupNode(java.lang.String name,
GroupNode g)
Add (child) group node with given path and name
- Parameters:
name
-
g
- group
- Throws:
java.lang.IllegalArgumentException
- if a node of same name already exists that is not a group node
-
removeGroupNode
void removeGroupNode(java.lang.String name)
Remove group node of given name
- Parameters:
name
-
- Throws:
java.lang.IllegalArgumentException
- if named node does not exist or is not a group node
-
removeGroupNode
void removeGroupNode(GroupNode g)
Remove given group node
- Parameters:
g
- group node
- Throws:
java.lang.IllegalArgumentException
- if no group node exists with the given name
-
getNumberOfDataNodes
int getNumberOfDataNodes()
- Returns:
- number of data nodes held in group
-
containsDataNode
boolean containsDataNode(java.lang.String name)
- Parameters:
name
-
- Returns:
- true if group contains data node of given name
-
getDataNode
DataNode getDataNode(java.lang.String name)
Get data node of given name. A SymbolicNode
with the given name is resolved
to its destination node.
- Parameters:
name
-
- Returns:
- datanode, or
null
if no such data node exists
- Throws:
java.lang.IllegalArgumentException
- if a node with the given name exists that is not a data node
-
addDataNode
void addDataNode(java.lang.String name,
DataNode d)
Add given data node with given path and name
- Parameters:
name
-
d
- dataset
- Throws:
java.lang.IllegalArgumentException
- if a node of same name already exists that is not a data node
-
getDataNodes
java.util.List<DataNode> getDataNodes()
Get all data nodes. Any SymbolicNode
s are resolved to their destination nodes.
- Returns:
- data nodes
-
getDataNodeMap
java.util.Map<java.lang.String,DataNode> getDataNodeMap()
Get all data nodes, keyed by name within this group node. Any SymbolicNode
s are
resolved to their destination nodes.
- Returns:
- data node map
-
removeDataNode
void removeDataNode(java.lang.String name)
Remove the data node of given name.
- Parameters:
name
-
- Throws:
java.lang.IllegalArgumentException
- if named node does not exist or is not a data node
-
removeDataNode
void removeDataNode(DataNode d)
Remove the given data node from this group.
- Parameters:
d
- data node
- Throws:
java.lang.IllegalArgumentException
- if node is not in group
-
addSymbolicNode
void addSymbolicNode(java.lang.String name,
SymbolicNode s)
Add linked node with given path and name
- Parameters:
name
-
s
- symbolic link
- Throws:
java.lang.IllegalArgumentException
- if a node of same name already exists that is not a symbolic node
-
containsSymbolicNode
boolean containsSymbolicNode(java.lang.String name)
Returns whether this group node contains a symbolic node of the given name.
- Parameters:
name
-
- Returns:
true
if group contains a symbolic node of given name,
false
otherwise
-
removeSymbolicNode
void removeSymbolicNode(java.lang.String name)
Removes the symbolic node with the given name.
- Parameters:
name
- name of symbolic node to remove
- Throws:
java.lang.IllegalArgumentException
- if named node does not exist or is not a symbolic node
-
removeSymbolicNode
void removeSymbolicNode(SymbolicNode s)
Removes the given symbolic node from this tree.
- Parameters:
s
- symbolic node
- Throws:
java.lang.IllegalArgumentException
- if node is not in group
-
getSymbolicNode
SymbolicNode getSymbolicNode(java.lang.String name)
Get (child) symbolic node of given name.
- Parameters:
name
-
- Returns:
- symbolic node, or
null
if no such node exists
- Throws:
java.lang.IllegalArgumentException
- if a node exists with the given name that is not a
symbolic node
-
findLinkedNodeName
java.lang.String findLinkedNodeName(Node node)
Find name of node linked to this group
- Parameters:
node
-
- Returns:
- name (or null, if node is not in group)
-
getNodeNameIterator
java.util.Iterator<java.lang.String> getNodeNameIterator()
- Returns:
- iterator over child names in group
-
getDatasets
java.util.List<ILazyDataset> getDatasets(java.lang.String name)
Recursively find datasets of given name
- Parameters:
name
-
- Returns:
- list of (unique) datasets
-
findNodeLink
NodeLink findNodeLink(java.lang.String pathname)
Recursively find link to node given by path name
- Parameters:
pathname
-
- Returns:
- node or null if not found
-
iterator
java.util.Iterator<NodeLink> iterator()
- Specified by:
iterator
in interface java.lang.Iterable<NodeLink>
- Returns:
- iterator over links to children in group
-
getNames
java.util.Collection<java.lang.String> getNames()
- Returns:
- names of nodes