public abstract class ContentItem extends Object implements TreeNode
An abstract class for representing a node in an internal representation of a structured reporting
tree (an instance of StructuredReport
).
The constructor is protected. Instances of specific types of content items should normally be created by using
the ContentItemFactory
.
ContentItemFactory
,
ContentItemWithValue
,
ContentItemWithReference
,
StructuredReport
,
StructuredReportBrowser
Modifier and Type | Field and Description |
---|---|
protected String |
observationDateTime |
protected String |
observationUID |
protected String |
relationshipType |
Modifier | Constructor and Description |
---|---|
protected |
ContentItem(ContentItem p,
AttributeList l)
Construct a content item for a list of attributes, and add it as a child of the specified parent.
|
protected |
ContentItem(ContentItem p,
String relationshipType)
Construct a content item of a specified type and relationship, creating a new
AttributeList , and add it as a child of the specified parent. |
protected |
ContentItem(ContentItem p,
String relationshipType,
String observationDateTime,
String observationUID)
Construct a content item of a specified type and relationship, creating a new
AttributeList , and add it as a child of the specified parent. |
Modifier and Type | Method and Description |
---|---|
void |
addChild(ContentItem child)
Add a child to this content item.
|
void |
addSibling(ContentItem sibling)
Add a sibling to this content item (a child to the parent of this content item).
|
Enumeration |
children()
Returns the children of this node as an
Enumeration . |
static boolean |
contentItemNameMatchesCodeValueAndCodingSchemeDesignator(ContentItem ci,
String cvWanted,
String csdWanted)
Test if the coded concept name of the content item matches the specified code value and coding scheme designator.
|
abstract boolean |
contentItemNameMatchesCodeValueAndCodingSchemeDesignator(String cvWanted,
String csdWanted)
Test if the coded concept name of the content item matches the specified code value and coding scheme designator.
|
boolean |
getAllowsChildren()
Always returns true, since children may always be added.
|
AttributeList |
getAttributeList()
Get the attribute list of this content item.
|
TreeNode |
getChildAt(int index)
Returns the child at the specified index.
|
int |
getChildCount()
Return the number of children that this node contains.
|
CodedSequenceItem |
getConceptName()
Get the Concept Name.
|
String |
getConceptNameAndValue()
Get a string representation of the concept name and the value of the concept.
|
String |
getConceptNameCodeMeaning()
Get the value of the code meaning of the Concept Name as a string, if present and applicable.
|
String |
getConceptNameCodeValue()
Get the value of the code value of the Concept Name as a string, if present and applicable.
|
String |
getConceptNameCodingSchemeDesignator()
Get the value of the coding scheme designator of the Concept Name as a string, if present and applicable.
|
abstract String |
getConceptValue()
Get a string representation of the value of the concept.
|
float[] |
getGraphicData()
Get the Graphic Data of this content item, if present and applicable.
|
String |
getGraphicType()
Get the Graphic Type of this content item, if present and applicable.
|
int |
getIndex(TreeNode child)
Returns the index of the specified child from amongst this node's children, if present.
|
ContentItem |
getNamedChild(CodedSequenceItem item)
Retrieve the named child as defined by its ConceptName
The code meaning of the concept is ignored, and only the code value and coding scheme designator are compared in the search.
|
ContentItem |
getNamedChild(String codingSchemeDesignator,
String codeValue)
Retrieve the named child as defined by its ConceptName
|
String |
getObservationDateTime()
Get the ObservationDateTime of this content item.
|
String |
getObservationUID()
Get the ObservationUID of this content item.
|
TreeNode |
getParent()
Returns the parent node of this node.
|
ContentItem |
getParentAsContentItem()
Get the parent content item of this content item.
|
String |
getPositionInTreeToUseAsReferencedContentItemIdentifier()
Get the position in the tree relative to the top parent as a String to use as a Referenced Content Item Identifier.
|
String |
getReferencedContentItemIdentifier()
Get the Referenced Content Item Identifier, if present.
|
int[] |
getReferencedContentItemIdentifierArray()
Get the Referenced Content Item Identifier, if present.
|
String |
getReferencedSOPClassUID()
Get the Referenced SOP Class UID of this content item, if present and applicable.
|
String |
getReferencedSOPInstanceUID()
Get the Referenced SOP Instance UID of this content item, if present and applicable.
|
String |
getRelationshipType()
Get the relationship type of this content item.
|
String |
getSingleStringValueOrNull()
Retrieve the string value of self
|
static String |
getSingleStringValueOrNullOfNamedChild(ContentItem parent,
String codingSchemeDesignator,
String codeValue)
Retrieve the string value of the named child as defined by its ConceptName
|
String |
getSingleStringValueOrNullOfNamedChild(String codingSchemeDesignator,
String codeValue)
Retrieve the string value of the named child as defined by its ConceptName
|
String |
getValueType()
Get the value type of this content item.
|
boolean |
isLeaf()
Returns true if the receiver is a leaf (has no children).
|
String |
toString()
Dump the entire tree as a
String . |
static String |
walkTreeBuldingString(ContentItem node,
String location)
Dump the tree starting at the specified node as a
String . |
protected String observationDateTime
protected String observationUID
protected String relationshipType
protected ContentItem(ContentItem p, AttributeList l)
Construct a content item for a list of attributes, and add it as a child of the specified parent.
The constructor is protected. Instances of specific types of content items should normally be created by using
the ContentItemFactory
.
p
- the parentl
- the list of attributesprotected ContentItem(ContentItem p, String relationshipType) throws DicomException
Construct a content item of a specified type and relationship, creating a new AttributeList
, and add it as a child of the specified parent.
The constructor is protected. Instances of specific types of content items should normally be created by using
the ContentItemFactory
.
p
- the parentrelationshipType
- added only if not null or zero lengthDicomException
- if error in DICOM encodingprotected ContentItem(ContentItem p, String relationshipType, String observationDateTime, String observationUID) throws DicomException
Construct a content item of a specified type and relationship, creating a new AttributeList
, and add it as a child of the specified parent.
The constructor is protected. Instances of specific types of content items should normally be created by using
the ContentItemFactory
.
p
- the parentrelationshipType
- added only if not null or zero lengthobservationDateTime
- Observation DateTime, added only if not null or zero lengthobservationUID
- Observation UID, added only if not null or zero lengthDicomException
- if error in DICOM encodingpublic void addChild(ContentItem child)
Add a child to this content item.
child
- the child content item to addpublic void addSibling(ContentItem sibling) throws DicomException
Add a sibling to this content item (a child to the parent of this content item).
sibling
- the sibling content item to addDicomException
- thrown if there is no parentpublic Enumeration children()
Returns the children of this node as an Enumeration
.
public static boolean contentItemNameMatchesCodeValueAndCodingSchemeDesignator(ContentItem ci, String cvWanted, String csdWanted)
ci
- the content item to checkcsdWanted
- the coding scheme designator of the coded concept name wantedcvWanted
- the code value of the coded concept name wantedpublic abstract boolean contentItemNameMatchesCodeValueAndCodingSchemeDesignator(String cvWanted, String csdWanted)
csdWanted
- the coding scheme designator wantedcvWanted
- the code value wantedpublic boolean getAllowsChildren()
Always returns true, since children may always be added.
getAllowsChildren
in interface TreeNode
public AttributeList getAttributeList()
Get the attribute list of this content item.
public TreeNode getChildAt(int index)
Returns the child at the specified index.
getChildAt
in interface TreeNode
index
- the index of the child to be returned, numbered from 0TreeNode
at the specified indexpublic int getChildCount()
Return the number of children that this node contains.
getChildCount
in interface TreeNode
public CodedSequenceItem getConceptName()
Get the Concept Name.
public String getConceptNameAndValue()
Get a string representation of the concept name and the value of the concept.
The exact form of the returned string is specific to the type of ContentItem.
public String getConceptNameCodeMeaning()
Get the value of the code meaning of the Concept Name as a string, if present and applicable.
public String getConceptNameCodeValue()
Get the value of the code value of the Concept Name as a string, if present and applicable.
public String getConceptNameCodingSchemeDesignator()
Get the value of the coding scheme designator of the Concept Name as a string, if present and applicable.
public abstract String getConceptValue()
Get a string representation of the value of the concept.
The exact form of the returned string is specific to the type of ContentItem.
public float[] getGraphicData()
Get the Graphic Data of this content item, if present and applicable.
public String getGraphicType()
Get the Graphic Type of this content item, if present and applicable.
public int getIndex(TreeNode child)
Returns the index of the specified child from amongst this node's children, if present.
public ContentItem getNamedChild(CodedSequenceItem item)
item
- the coded sequence item of the concept name wantedpublic ContentItem getNamedChild(String codingSchemeDesignator, String codeValue)
codingSchemeDesignator
- the coding scheme designatorcodeValue
- the code valuepublic String getObservationDateTime()
Get the ObservationDateTime of this content item.
public String getObservationUID()
Get the ObservationUID of this content item.
public TreeNode getParent()
Returns the parent node of this node.
public ContentItem getParentAsContentItem()
Get the parent content item of this content item.
This method saves the caller from having to cast the value returned from TreeNode.getParent()
.
public String getPositionInTreeToUseAsReferencedContentItemIdentifier()
Get the position in the tree relative to the top parent as a String to use as a Referenced Content Item Identifier.
Returns a valid result only if the entire parent content tree back to the root has already been populated.
public String getReferencedContentItemIdentifier()
Get the Referenced Content Item Identifier, if present.
public int[] getReferencedContentItemIdentifierArray()
Get the Referenced Content Item Identifier, if present.
public String getReferencedSOPClassUID()
Get the Referenced SOP Class UID of this content item, if present and applicable.
public String getReferencedSOPInstanceUID()
Get the Referenced SOP Instance UID of this content item, if present and applicable.
public String getRelationshipType()
Get the relationship type of this content item.
public String getSingleStringValueOrNull()
public static String getSingleStringValueOrNullOfNamedChild(ContentItem parent, String codingSchemeDesignator, String codeValue)
parent
- the parentcodingSchemeDesignator
- the coding scheme designatorcodeValue
- the code valuepublic String getSingleStringValueOrNullOfNamedChild(String codingSchemeDesignator, String codeValue)
codingSchemeDesignator
- the coding scheme designatorcodeValue
- the code valuepublic String getValueType()
Get the value type of this content item.
public boolean isLeaf()
Returns true if the receiver is a leaf (has no children).
public static String walkTreeBuldingString(ContentItem node, String location)
Dump the tree starting at the specified node as a String
.
node
- location
- the dotted numeric string describing the location of the starting nodeString
representing the tree fragment