com.pixelmed.dicom

## Class CompositeInstanceContext

- java.lang.Object
- - com.pixelmed.dicom.CompositeInstanceContext

Direct Known Subclasses:
  DoseCompositeInstanceContext

    public class CompositeInstanceContext
    extends java.lang.Object

A class for representing the attributes of general modules that describe the patient, study, series, instance and related "context" of the payload of a composite DICOM instance.

The purpose is to allow the context to be extracted from an existing object, stored, and then reused in new objects, either wholly or partially, by selectively removing modules for lower level information entities as appropriate. E.g.:

      CompositeInstanceContext cic = new CompositeInstanceContext(srcList,false);
      cic.removeInstance();
      cic.removeSeries();
      cic.removeEquipment();
      dstList.putAll(cic.getAttributeList());

Static methods are also provided for operating directly on an `AttributeList`.

### Field Summary

Fields
`protected static AttributeTag[]` `clinicalTrialSubjectModuleAttributeTags`
`protected static AttributeTag[]` `frameOfReferenceModuleAttributeTags`
`protected static AttributeTag[]` `generalEquipmentModuleAttributeTags`
`protected static AttributeTag[]` `generalImageModuleAttributeTags`
`protected static AttributeTag[]` `generalSeriesModuleAttributeTags`
`protected static AttributeTag[]` `generalStudyModuleAttributeTags`
`protected AttributeList` `list`
`protected static AttributeTag[]` `patientModuleAttributeTags`
`protected static AttributeTag[]` `patientStudyModuleAttributeTags`
`protected static AttributeTag[]` `sopCommonModuleAttributeTags`
`protected static AttributeTag[]` `srDocumentGeneralModuleAttributeTags`

### Constructor Summary

Constructors
Constructor and Description
`CompositeInstanceContext()`
`CompositeInstanceContext(AttributeList srcList)` Deprecated. use `CompositeInstanceContext(AttributeList,boolean)` instead
`CompositeInstanceContext(AttributeList srcList, boolean forSR)` Create the composite context module `Attribute`s with values from the supplied `AttributeList`.

### Method Summary

Methods
`protected void` `addOrReplaceIfNotEmptyOtherwiseLeaveUnchanged(AttributeList srcList, AttributeTag tag)`
`protected void` `createPerformedProcedureCodeSequenceIfAbsent(AttributeList srcList)`
`protected void` `createReferencedRequestSequenceIfAbsent(AttributeList srcList)`
`boolean` `equals(java.lang.Object o)`
`AttributeList` `getAttributeList()` Return the `AttributeList` of all the `Attribute`s in the context.
`int` `hashCode()`
`void` `put(Attribute a)`
`void` `putAll(AttributeList srcList)`
`void` `removeAllButPatient()` See `removeAllButPatient`.
`static void` `removeAllButPatient(AttributeList list)` Remove the study, series, equipment, frame of reference and instance level module `Attribute`s.
`void` `removeAllButPatientAndStudy()` See `removeAllButPatientAndStudy`.
`static void` `removeAllButPatientAndStudy(AttributeList list)` Remove the series, equipment, frame of reference and instance level module `Attribute`s.
`void` `removeEquipment()` See `removeEquipment`.
`static void` `removeEquipment(AttributeList list)` Remove the General Equipment module `Attribute`s.
`void` `removeFrameOfReference()` See `removeFrameOfReference`.
`static void` `removeFrameOfReference(AttributeList list)` Remove the Frame of Reference module `Attribute`s.
`void` `removeInstance()` See `removeInstance`.
`static void` `removeInstance(AttributeList list)` Remove the SOP Common and General Image module `Attribute`s.
`void` `removePatient()` See `removePatient(AttributeList)`.
`static void` `removePatient(AttributeList list)` Remove the Patient and Clinical Trial Subject module `Attribute`s.
`void` `removeSeries()` See `removeSeries`.
`static void` `removeSeries(AttributeList list)` Remove the General Series module `Attribute`s.
`void` `removeSRDocumentGeneral()` See `removeSRDocumentGeneral`.
`static void` `removeSRDocumentGeneral(AttributeList list)` Remove the SR Document General Image module `Attribute`s.
`void` `removeStudy()` See `removeStudy`.
`static void` `removeStudy(AttributeList list)` Remove the General Study and Patient Study module `Attribute`s.
`java.lang.String` `toString()`
`void` `updateFromSource(AttributeList srcList)` Deprecated. use `updateFromSource(AttributeList,boolean)` instead
`void` `updateFromSource(AttributeList srcList, boolean forSR)` Add or replace all of the composite context module `Attribute`s with values from the supplied `AttributeList`.

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

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Field Detail

#### list

    protected AttributeList list

#### patientModuleAttributeTags

    protected static AttributeTag[] patientModuleAttributeTags

#### clinicalTrialSubjectModuleAttributeTags

    protected static AttributeTag[] clinicalTrialSubjectModuleAttributeTags

#### generalStudyModuleAttributeTags

    protected static AttributeTag[] generalStudyModuleAttributeTags

#### patientStudyModuleAttributeTags

    protected static AttributeTag[] patientStudyModuleAttributeTags

#### generalSeriesModuleAttributeTags

    protected static AttributeTag[] generalSeriesModuleAttributeTags

#### generalEquipmentModuleAttributeTags

    protected static AttributeTag[] generalEquipmentModuleAttributeTags

#### frameOfReferenceModuleAttributeTags

    protected static AttributeTag[] frameOfReferenceModuleAttributeTags

#### sopCommonModuleAttributeTags

    protected static AttributeTag[] sopCommonModuleAttributeTags

#### generalImageModuleAttributeTags

    protected static AttributeTag[] generalImageModuleAttributeTags

#### srDocumentGeneralModuleAttributeTags

    protected static AttributeTag[] srDocumentGeneralModuleAttributeTags

### Constructor Detail

#### CompositeInstanceContext

    public CompositeInstanceContext()

#### CompositeInstanceContext

    public CompositeInstanceContext(AttributeList srcList,
                            boolean forSR)

Create the composite context module `Attribute`s with values from the supplied `AttributeList`.

Parameters:
  `forSR` - true if need to populate the SR Document General Module specific `Attribute`s from their image equivalents
  `srcList` -

#### CompositeInstanceContext

    public CompositeInstanceContext(AttributeList srcList)

Deprecated. use `CompositeInstanceContext(AttributeList,boolean)` instead

Create the composite context module `Attribute`s with values from the supplied `AttributeList`.

Also populates the SR Document General Module specific `Attribute`s from their image equivalents.

Parameters:
  `srcList` -

### Method Detail

#### getAttributeList

    public AttributeList getAttributeList()

Return the `AttributeList` of all the `Attribute`s in the context.

Returns:
  the `AttributeList` of all the `Attribute`s in the context

#### equals

    public boolean equals(java.lang.Object o)

Overrides:
  `equals` in class `java.lang.Object`

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `java.lang.Object`

#### addOrReplaceIfNotEmptyOtherwiseLeaveUnchanged

    protected void addOrReplaceIfNotEmptyOtherwiseLeaveUnchanged(AttributeList srcList,
                                                     AttributeTag tag)

#### createReferencedRequestSequenceIfAbsent

    protected void createReferencedRequestSequenceIfAbsent(AttributeList srcList)

#### createPerformedProcedureCodeSequenceIfAbsent

    protected void createPerformedProcedureCodeSequenceIfAbsent(AttributeList srcList)

#### updateFromSource

    public void updateFromSource(AttributeList srcList,
                        boolean forSR)

Add or replace all of the composite context module `Attribute`s with values from the supplied `AttributeList`.

If an `Attribute` is empty or missing in the supplied list, the existing value in the context is left unchanged (not removed or emptied).

This is useful when building composite context from multiple input composite instances, in which optional `Attribute`s are filled in some, but not others, in order to accumulate the most information available.

Parameters:
  `srcList` -
  `forSR` - true if need to populate the SR Document General Module specific `Attribute`s from their image equivalents

#### updateFromSource

    public void updateFromSource(AttributeList srcList)

Deprecated. use `updateFromSource(AttributeList,boolean)` instead

Add or replace all of the composite context module `Attribute`s with values from the supplied `AttributeList`.

If an `Attribute` is empty or missing in the supplied list, the existing value in the context is left unchanged (not removed or emptied).

This is useful when building composite context from multiple input composite instances, in which optional `Attribute`s are filled in some, but not others, in order to accumulate the most information available.

Also populates the SR Document General Module specific `Attribute`s from their image equivalents.

Parameters:
  `srcList` -

#### removePatient

    public static void removePatient(AttributeList list)

Remove the Patient and Clinical Trial Subject module `Attribute`s.

Parameters:
  `list` -

#### removeAllButPatient

    public static void removeAllButPatient(AttributeList list)

Remove the study, series, equipment, frame of reference and instance level module `Attribute`s.

Parameters:
  `list` -

#### removeAllButPatientAndStudy

    public static void removeAllButPatientAndStudy(AttributeList list)

Remove the series, equipment, frame of reference and instance level module `Attribute`s.

Parameters:
  `list` -

#### removeStudy

    public static void removeStudy(AttributeList list)

Remove the General Study and Patient Study module `Attribute`s.

Parameters:
  `list` -

#### removeSeries

    public static void removeSeries(AttributeList list)

Remove the General Series module `Attribute`s.

Parameters:
  `list` -

#### removeEquipment

    public static void removeEquipment(AttributeList list)

Remove the General Equipment module `Attribute`s.

Parameters:
  `list` -

#### removeFrameOfReference

    public static void removeFrameOfReference(AttributeList list)

Remove the Frame of Reference module `Attribute`s.

Parameters:
  `list` -

#### removeInstance

    public static void removeInstance(AttributeList list)

Remove the SOP Common and General Image module `Attribute`s.

Parameters:
  `list` -

#### removeSRDocumentGeneral

    public static void removeSRDocumentGeneral(AttributeList list)

Remove the SR Document General Image module `Attribute`s.

Parameters:
  `list` -

#### removePatient

    public void removePatient()

See `removePatient(AttributeList)`.

#### removeAllButPatient

    public void removeAllButPatient()

See `removeAllButPatient`.

#### removeAllButPatientAndStudy

    public void removeAllButPatientAndStudy()

See `removeAllButPatientAndStudy`.

#### removeStudy

    public void removeStudy()

See `removeStudy`.

#### removeSeries

    public void removeSeries()

See `removeSeries`.

#### removeEquipment

    public void removeEquipment()

See `removeEquipment`.

#### removeFrameOfReference

    public void removeFrameOfReference()

See `removeFrameOfReference`.

#### removeInstance

    public void removeInstance()

See `removeInstance`.

#### removeSRDocumentGeneral

    public void removeSRDocumentGeneral()

See `removeSRDocumentGeneral`.

#### put

    public void put(Attribute a)

#### putAll

    public void putAll(AttributeList srcList)

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `java.lang.Object`