Package com.pixelmed.dicom

# Class StructuredReport

java.lang.Object
com.pixelmed.dicom.StructuredReport

All Implemented Interfaces:
  `TreeModel`

public class StructuredReport extends Object implements TreeModel

The `StructuredReport` class implements a `TreeModel` to abstract the contents of a list of attributes representing a DICOM Structured Report as a tree in order to provide support for a `StructuredReportBrowser`.

For details of some of the methods implemented here see `javax.swing.tree.TreeModel`.

A main method is provided for testing that reads a DICOM file containing an SR and dumps its contents in a human-readable form to System.err.

See Also:
  - `ContentItem`
  - `ContentItemFactory`
  - `StructuredReportBrowser`

## Constructor Summary

Constructors
Constructor
Description
`StructuredReport(AttributeList list)`
Construct an internal tree representation of a structured report from a list of DICOM attributes.
`StructuredReport(ContentItem root)`
Construct an internal tree representation of a structured report from an existing root content item.

## Method Summary

Modifier and Type
Method
Description
`void`
`addTreeModelListener(TreeModelListener tml)`
`static Vector`
`findAllContainedSOPInstances(ContentItem root, ContentItem item)`
Find all coordinate and image references within content items of the sub-tree rooted at the specified node (which may be the root).
`AttributeList`
`getAttributeList()`
Return the entire content tree of a structured report as an `AttributeList`.
`Object`
`getChild(Object node, int index)`
`int`
`getChildCount(Object parent)`
`int`
`getIndexOfChild(Object parent, Object child)`
`Object`
`getRoot()`
`boolean`
`isLeaf(Object node)`
`static void`
`main(String[] arg)`
Dump the SR encoded in the file name on the console.
`void`
`removeTreeModelListener(TreeModelListener tml)`
`String`
`toString()`
Dump the entire tree as a `String`.
`void`
`valueForPathChanged(TreePath path, Object newValue)`
`static String`
`walkTreeBuldingString(ContentItem node, String location)`
Dump the tree starting at the specified node as a `String`.

### Methods inherited from class java.lang.Object

`clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### StructuredReport

public StructuredReport(AttributeList list) throws DicomException

Construct an internal tree representation of a structured report from a list of DICOM attributes.

Parameters:
  `list` - the list of attributes in which the structured report is encoded
Throws:
  `DicomException`

### StructuredReport

public StructuredReport(ContentItem root) throws DicomException

Construct an internal tree representation of a structured report from an existing root content item.

Parameters:
  `root` - the root content item
Throws:
  `DicomException`

## Method Details

### getChild

public Object getChild(Object node, int index)

Specified by:
  `getChild` in interface `TreeModel`
Parameters:
  `node` -
  `index` -

### getIndexOfChild

public int getIndexOfChild(Object parent, Object child)

Specified by:
  `getIndexOfChild` in interface `TreeModel`
Parameters:
  `parent` -
  `child` -

### getRoot

public Object getRoot()

Specified by:
  `getRoot` in interface `TreeModel`

### getChildCount

public int getChildCount(Object parent)

Specified by:
  `getChildCount` in interface `TreeModel`
Parameters:
  `parent` -

### isLeaf

public boolean isLeaf(Object node)

Specified by:
  `isLeaf` in interface `TreeModel`
Parameters:
  `node` -

### valueForPathChanged

public void valueForPathChanged(TreePath path, Object newValue)

Specified by:
  `valueForPathChanged` in interface `TreeModel`
Parameters:
  `path` -
  `newValue` -

### addTreeModelListener

public void addTreeModelListener(TreeModelListener tml)

Specified by:
  `addTreeModelListener` in interface `TreeModel`
Parameters:
  `tml` -

### removeTreeModelListener

public void removeTreeModelListener(TreeModelListener tml)

Specified by:
  `removeTreeModelListener` in interface `TreeModel`
Parameters:
  `tml` -

### getAttributeList

public AttributeList getAttributeList()

Return the entire content tree of a structured report as an `AttributeList`.

Has the side effect of creating (or replacing) the ContentSequence attributes of the `AttributeList` of each `ContentItem` to represent the tree structure.

Returns:
  a `AttributeList` representing the content tree, or null if empty root.

### walkTreeBuldingString

public static String walkTreeBuldingString(ContentItem node, String location)

Dump the tree starting at the specified node as a `String`.

Parameters:
  `node` -
  `location` - the dotted numeric string describing the location of the starting node
Returns:
  a multi-line `String` representing the tree fragment

### toString

public String toString()

Dump the entire tree as a `String`.

Overrides:
  `toString` in class `Object`
Returns:
  a multi-line `String` representing the tree

### findAllContainedSOPInstances

public static Vector findAllContainedSOPInstances(ContentItem root, ContentItem item)

Find all coordinate and image references within content items of the sub-tree rooted at the specified node (which may be the root).

The annotation of the reference is derived from the value of the Concept Name of the parent (and its parent, if a NUM content item).

Parameters:
  `root` - the root node, for dereferencing by-reference relationships
  `item` - the node to start searching from
Returns:
  a `Vector` of `SpatialCoordinateAndImageReference`

### main

public static void main(String[] arg)

Dump the SR encoded in the file name on the console.

Parameters:
  `arg` -