Class QueryTreeRecord
- All Implemented Interfaces:
Comparable
,TreeNode
Instances of the QueryTreeRecord
class represent
nodes in a tree of the QueryTreeModel
class, which in
turn is used by the QueryTreeBrowser
class.
This class is publically visible primarily so that selection change listeners can be
constructed for QueryTreeBrowser
, since
the user's selection is returned as a path of QueryTreeRecord
instances, which need to be cast accordingly.
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected AttributeList
protected List
protected boolean
protected AttributeList
protected InformationEntity
protected int
protected QueryTreeRecord
protected QueryInformationModel
protected Attribute
protected AttributeList
protected String
-
Constructor Summary
ConstructorsConstructorDescriptionQueryTreeRecord
(QueryInformationModel q, AttributeList filter, QueryTreeRecord parent, String value, InformationEntity ie, Attribute uniqueKey, AttributeList allAttributesReturnedInIdentifier) Make a new node in a tree. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addChild
(QueryTreeRecord child) Add a child to this nodes sorted collection of children.void
addSibling
(QueryTreeRecord sibling) Add a sibling to this node, that is add a child to this node's parent's sorted collection of children.children()
Returns the children of this node as anEnumeration
.int
Compare nodes based on the lexicographic order of their string values.boolean
Get the list of all the DICOM attributes from the query response for this level of the query.boolean
Always returns true, since children may always be added.getChildAt
(int index) Returns the child at the specified index.int
Return the number of children that this node contains.int
Returns the index of the specified child from amongst this node's children, if present.Get the information entity that this node represents.Returns the parent node of this node.protected InformationEntity
Get the DICOM attribute that is the unique key at the level of this record.Get the list of DICOM attributes, one for each unique key of each parent of this level as well as this level itself.getValue()
Get the string value of the node which is used for sorting and human-readable rendering.boolean
isLeaf()
Returns true if the receiver is a leaf (has no children).protected void
protected void
toString()
Dump the string value of the node.
-
Field Details
-
q
-
filter
-
parent
-
children
-
ie
-
uniqueKey
-
uniqueKeys
-
allAttributesReturnedInIdentifier
-
value
-
childrenPopulated
protected boolean childrenPopulated -
numberOfChildren
protected int numberOfChildren
-
-
Constructor Details
-
QueryTreeRecord
public QueryTreeRecord(QueryInformationModel q, AttributeList filter, QueryTreeRecord parent, String value, InformationEntity ie, Attribute uniqueKey, AttributeList allAttributesReturnedInIdentifier) Make a new node in a tree.
- Parameters:
q
- the query information model to build the tree fromfilter
- the query request identifier as a list of DICOM attributesparent
- the parent of this nodevalue
- a string value which is used primarily to sort siblings into lexicographic orderie
- the entity in the DICOM information model that the constructed node is an instance ofuniqueKey
- the DICOM attribute which is the unique key at the level of this recordallAttributesReturnedInIdentifier
- a list of all the DICOM attributes from the query response for this level of a query
-
-
Method Details
-
toString
Dump the string value of the node.
-
compareTo
Compare nodes based on the lexicographic order of their string values.
Note that the comparison is more complex than a simple lexicographic comparison of strings (as described in the definition of
java.lang.String.compareTo(String)
but rather accounts for embedded non-zero padded integers. Seecom.pixelmed.utils.compareStringsWithEmbeddedNonZeroPaddedIntegers(String,String)
If the string values are equal but they do not have the same unique key, then an arbitrary but consistent order is return.
- Specified by:
compareTo
in interfaceComparable
- Parameters:
o
- theQueryTreeRecord
to compare thisQueryTreeRecord
against- Returns:
- the value 0 if the argument is equal to this object; a value less than 0 if this object is lexicographically less than the argument; and a value greater than 0 if this object is lexicographically greater than the argument
-
equals
-
getParent
Returns the parent node of this node.
-
getChildAt
Returns the child at the specified index.
- Specified by:
getChildAt
in interfaceTreeNode
- Parameters:
index
- the index of the child to be returned, numbered from 0- Returns:
- the child
TreeNode
at the specified index
-
getIndex
Returns the index of the specified child from amongst this node's children, if present.
-
getAllowsChildren
public boolean getAllowsChildren()Always returns true, since children may always be added.
- Specified by:
getAllowsChildren
in interfaceTreeNode
- Returns:
- always true
-
isLeaf
public boolean isLeaf()Returns true if the receiver is a leaf (has no children).
-
populateChildrenIfRequired
protected void populateChildrenIfRequired() -
getChildCount
public int getChildCount()Return the number of children that this node contains.
- Specified by:
getChildCount
in interfaceTreeNode
- Returns:
- the number of children, 0 if none
-
children
Returns the children of this node as an
Enumeration
. -
getQueryLevelToPopulateChildren
-
populateChildren
protected void populateChildren() -
addChild
Add a child to this nodes sorted collection of children.
- Parameters:
child
- the child node to be added
-
addSibling
Add a sibling to this node, that is add a child to this node's parent's sorted collection of children.
- Parameters:
sibling
- the sibling node to be added- Throws:
DicomException
- thrown if this node has no parent
-
getValue
Get the string value of the node which is used for sorting and human-readable rendering.
- Returns:
- the string value of this node
-
getInformationEntity
Get the information entity that this node represents.
- Returns:
- information entity that this node represents
-
getUniqueKeys
Get the list of DICOM attributes, one for each unique key of each parent of this level as well as this level itself.
- Returns:
- the list of unique keys
-
getUniqueKey
Get the DICOM attribute that is the unique key at the level of this record.
- Returns:
- the unique key
-
getAllAttributesReturnedInIdentifier
Get the list of all the DICOM attributes from the query response for this level of the query.
- Returns:
- the list of all response attributes for this level
-