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 AttributeListprotected Listprotected booleanprotected AttributeListprotected InformationEntityprotected intprotected QueryTreeRecordprotected QueryInformationModelprotected Attributeprotected AttributeListprotected 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.QueryTreeRecord(QueryInformationModel q, AttributeList filter, QueryTreeRecord parent, String value, InformationEntity ie, Attribute uniqueKey, AttributeList allAttributesReturnedInIdentifier, int debugLevel) Make a new node in a tree. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddChild(QueryTreeRecord child) Add a child to this nodes sorted collection of children.voidaddSibling(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.intCompare nodes based on the lexicographic order of their string values.booleanGet the list of all the DICOM attributes from the query response for this level of the query.booleanAlways returns true, since children may always be added.getChildAt(int index) Returns the child at the specified index.intReturn the number of children that this node contains.intReturns 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 InformationEntityGet 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.booleanisLeaf()Returns true if the receiver is a leaf (has no children).protected voidprotected voidtoString()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, int debugLevel) 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 querydebugLevel- unused
-
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:
compareToin interfaceComparable- Parameters:
o- theQueryTreeRecordto compare thisQueryTreeRecordagainst- 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:
getChildAtin interfaceTreeNode- Parameters:
index- the index of the child to be returned, numbered from 0- Returns:
- the child
TreeNodeat 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:
getAllowsChildrenin 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:
getChildCountin 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
-