com.pixelmed.dicom
Class UnknownAttribute

java.lang.Object
  extended by com.pixelmed.dicom.Attribute
      extended by com.pixelmed.dicom.UnknownAttribute
Direct Known Subclasses:
TestPrivateCreatorValueRepresentation.OurUnknownAttribute

public class UnknownAttribute
extends Attribute

A concrete class specializing Attribute for Unknown (UN) attributes.

Though an instance of this class may be created using its constructors, there is also a factory class, AttributeFactory.

See Also:
Attribute, AttributeFactory, AttributeList

Field Summary
protected  byte[] originalLittleEndianByteValues
           
 
Fields inherited from class com.pixelmed.dicom.Attribute
valueLength, valueMultiplicity
 
Constructor Summary
UnknownAttribute(AttributeTag t)
          Construct an (empty) attribute.
UnknownAttribute(AttributeTag t, long vl, DicomInputStream i)
          Read an attribute from an input stream.
UnknownAttribute(AttributeTag t, Long vl, DicomInputStream i)
          Read an attribute from an input stream.
 
Method Summary
 byte[] getByteValues()
          Get the values of this attribute as a byte array.
 double[] getDoubleValues()
          Get the values of this attribute as doubles.
 float[] getFloatValues()
          Get the values of this attribute as floats.
 String[] getStringValues(NumberFormat format)
          Get the values of this attribute as strings.
 byte[] getVR()
          Get the value representation of this attribute (UN).
 void removeValues()
          Remove any existing values, making the attribute empty (zero length).
 String toString(DicomDictionary dictionary)
          Dump the contents of the attribute as a human-readable string.
 void write(DicomOutputStream o)
          Write the entire attribute (including values) to the output stream.
 
Methods inherited from class com.pixelmed.dicom.Attribute
addValue, addValue, addValue, addValue, addValue, addValue, addValue, getDelimitedStringValuesOrDefault, getDelimitedStringValuesOrDefault, getDelimitedStringValuesOrDefault, getDelimitedStringValuesOrDefault, getDelimitedStringValuesOrDefault, getDelimitedStringValuesOrDefault, getDelimitedStringValuesOrEmptyString, getDelimitedStringValuesOrEmptyString, getDelimitedStringValuesOrEmptyString, getDelimitedStringValuesOrEmptyString, getDelimitedStringValuesOrEmptyString, getDelimitedStringValuesOrEmptyString, getDelimitedStringValuesOrNull, getDelimitedStringValuesOrNull, getDelimitedStringValuesOrNull, getDelimitedStringValuesOrNull, getDelimitedStringValuesOrNull, getDelimitedStringValuesOrNull, getDoubleValues, getDoubleValues, getElement, getFloatValues, getFloatValues, getGroup, getIntegerValues, getIntegerValues, getIntegerValues, getLongValues, getLongValues, getLongValues, getOriginalStringValues, getPaddedVL, getShortValues, getSingleDoubleValueOrDefault, getSingleDoubleValueOrDefault, getSingleDoubleValueOrDefault, getSingleFloatValueOrDefault, getSingleFloatValueOrDefault, getSingleFloatValueOrDefault, getSingleIntegerValueOrDefault, getSingleIntegerValueOrDefault, getSingleIntegerValueOrDefault, getSingleLongValueOrDefault, getSingleLongValueOrDefault, getSingleLongValueOrDefault, getSingleStringValueOrDefault, getSingleStringValueOrDefault, getSingleStringValueOrDefault, getSingleStringValueOrDefault, getSingleStringValueOrDefault, getSingleStringValueOrDefault, getSingleStringValueOrEmptyString, getSingleStringValueOrEmptyString, getSingleStringValueOrEmptyString, getSingleStringValueOrEmptyString, getSingleStringValueOrEmptyString, getSingleStringValueOrEmptyString, getSingleStringValueOrNull, getSingleStringValueOrNull, getSingleStringValueOrNull, getSingleStringValueOrNull, getSingleStringValueOrNull, getSingleStringValueOrNull, getStringValues, getStringValues, getStringValues, getStringValues, getStringValues, getTag, getVL, getVM, getVRAsString, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValues, setValues, setValues, setValues, toString, writeBase
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

originalLittleEndianByteValues

protected byte[] originalLittleEndianByteValues
Constructor Detail

UnknownAttribute

public UnknownAttribute(AttributeTag t)

Construct an (empty) attribute.

Parameters:
t - the tag of the attribute

UnknownAttribute

public UnknownAttribute(AttributeTag t,
                        long vl,
                        DicomInputStream i)
                 throws IOException,
                        DicomException

Read an attribute from an input stream.

Parameters:
t - the tag of the attribute
vl - the value length of the attribute
i - the input stream
Throws:
IOException
DicomException

UnknownAttribute

public UnknownAttribute(AttributeTag t,
                        Long vl,
                        DicomInputStream i)
                 throws IOException,
                        DicomException

Read an attribute from an input stream.

Parameters:
t - the tag of the attribute
vl - the value length of the attribute
i - the input stream
Throws:
IOException
DicomException
Method Detail

write

public void write(DicomOutputStream o)
           throws DicomException,
                  IOException
Description copied from class: Attribute

Write the entire attribute (including values) to the output stream.

Specified by:
write in class Attribute
Parameters:
o -
Throws:
IOException
DicomException

toString

public String toString(DicomDictionary dictionary)
Description copied from class: Attribute

Dump the contents of the attribute as a human-readable string.

No new line is appended.

The result is of the form:

 (0xgggg,0xeeee) Name VR=<XX> VL=<0xnnnn> <...>
 

For example:

 (0x0018,0x0020) ScanningSequence VR=<CS> VL=<0x2> <GR>
 

Overrides:
toString in class Attribute
Parameters:
dictionary - the dictionary to use to look up the name
Returns:
a single String value

removeValues

public void removeValues()
Description copied from class: Attribute

Remove any existing values, making the attribute empty (zero length).

Specified by:
removeValues in class Attribute
Throws:
DicomException

getVR

public byte[] getVR()

Get the value representation of this attribute (UN).

Overrides:
getVR in class Attribute
Returns:
'U','U' in ASCII as a two byte array; see ValueRepresentation

getByteValues

public byte[] getByteValues()

Get the values of this attribute as a byte array.

Always to be interpreted as little endian, per the DICOM definition of UN, regardless of the received transfer syntax.

Overrides:
getByteValues in class Attribute
Returns:
the values as an array of bytes
Throws:
DicomException - thrown if values are not available (such as not supported for this concrete attribute class)

getStringValues

public String[] getStringValues(NumberFormat format)
                         throws DicomException

Get the values of this attribute as strings.

Assumes the caller knows that the UN VR is really a valid string (e.g., knows the VR of a private attribute).

Assumes ASCII encoding (i.e., does not consider SpecificCharacterSet).

The strings are first cleaned up into a canonical form, to remove leading and trailing padding.

Overrides:
getStringValues in class Attribute
Parameters:
format - the format to use for each numerical or decimal value - ignored
Returns:
the values as an array of String
Throws:
DicomException - not thrown

getDoubleValues

public double[] getDoubleValues()
                         throws DicomException

Get the values of this attribute as doubles.

Assumes the caller knows that the UN VR is really a valid FD (e.g., knows the VR of a private attribute).

Overrides:
getDoubleValues in class Attribute
Returns:
the values as an array of double
Throws:
DicomException

getFloatValues

public float[] getFloatValues()
                       throws DicomException

Get the values of this attribute as floats.

Assumes the caller knows that the UN VR is really a valid FL (e.g., knows the VR of a private attribute).

Overrides:
getFloatValues in class Attribute
Returns:
the values as an array of float
Throws:
DicomException