com.pixelmed.dicom
Class TextAttribute

java.lang.Object
  extended by com.pixelmed.dicom.Attribute
      extended by com.pixelmed.dicom.TextAttribute
Direct Known Subclasses:
LongTextAttribute, ShortTextAttribute, UnlimitedTextAttribute

public abstract class TextAttribute
extends Attribute

An abstract class specializing Attribute for the family of text attributes.


Field Summary
protected  SpecificCharacterSet specificCharacterSet
           
 
Fields inherited from class com.pixelmed.dicom.Attribute
valueLength, valueMultiplicity
 
Constructor Summary
protected TextAttribute(AttributeTag t)
          Construct an (empty) attribute; called only by concrete sub-classes.
protected TextAttribute(AttributeTag t, long vl, DicomInputStream i, SpecificCharacterSet specificCharacterSet)
          Read an attribute from an input stream; called only by concrete sub-classes.
protected TextAttribute(AttributeTag t, Long vl, DicomInputStream i, SpecificCharacterSet specificCharacterSet)
          Read an attribute from an input stream; called only by concrete sub-classes.
protected TextAttribute(AttributeTag t, SpecificCharacterSet specificCharacterSet)
          Construct an (empty) attribute; called only by concrete sub-classes.
 
Method Summary
 void addValue(String v)
          Add a(nother) String value after any existing values of this attribute.
 byte[] getByteValues()
          Get the values of this attribute as a byte array.
 long getPaddedVL()
          Get the value length of this attribute, accounting for the need for even-length padding.
 String[] getStringValues(NumberFormat format)
          Get the values of this attribute as strings.
 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.
protected  String translateByteArrayToString(byte[] bytes, int offset, int length)
          Decode a byte array into a string.
protected  byte[] translateStringToByteArray(String string)
          Encode a string into a byte array.
 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, getDelimitedStringValuesOrDefault, getDelimitedStringValuesOrDefault, getDelimitedStringValuesOrDefault, getDelimitedStringValuesOrDefault, getDelimitedStringValuesOrDefault, getDelimitedStringValuesOrDefault, getDelimitedStringValuesOrEmptyString, getDelimitedStringValuesOrEmptyString, getDelimitedStringValuesOrEmptyString, getDelimitedStringValuesOrEmptyString, getDelimitedStringValuesOrEmptyString, getDelimitedStringValuesOrEmptyString, getDelimitedStringValuesOrNull, getDelimitedStringValuesOrNull, getDelimitedStringValuesOrNull, getDelimitedStringValuesOrNull, getDelimitedStringValuesOrNull, getDelimitedStringValuesOrNull, getDoubleValues, getDoubleValues, getDoubleValues, getElement, getFloatValues, getFloatValues, getFloatValues, getGroup, getIntegerValues, getIntegerValues, getIntegerValues, getLongValues, getLongValues, getLongValues, getOriginalStringValues, 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, getVR, 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

specificCharacterSet

protected SpecificCharacterSet specificCharacterSet
Constructor Detail

TextAttribute

protected TextAttribute(AttributeTag t)

Construct an (empty) attribute; called only by concrete sub-classes.

Parameters:
t - the tag of the attribute

TextAttribute

protected TextAttribute(AttributeTag t,
                        SpecificCharacterSet specificCharacterSet)

Construct an (empty) attribute; called only by concrete sub-classes.

Parameters:
t - the tag of the attribute
specificCharacterSet - the character set to be used for the text

TextAttribute

protected TextAttribute(AttributeTag t,
                        long vl,
                        DicomInputStream i,
                        SpecificCharacterSet specificCharacterSet)
                 throws IOException,
                        DicomException

Read an attribute from an input stream; called only by concrete sub-classes.

Parameters:
t - the tag of the attribute
vl - the value length of the attribute
i - the input stream
specificCharacterSet - the character set to be used for the text
Throws:
IOException
DicomException

TextAttribute

protected TextAttribute(AttributeTag t,
                        Long vl,
                        DicomInputStream i,
                        SpecificCharacterSet specificCharacterSet)
                 throws IOException,
                        DicomException

Read an attribute from an input stream; called only by concrete sub-classes.

Parameters:
t - the tag of the attribute
vl - the value length of the attribute
i - the input stream
specificCharacterSet - the character set to be used for the text
Throws:
IOException
DicomException
Method Detail

translateByteArrayToString

protected String translateByteArrayToString(byte[] bytes,
                                            int offset,
                                            int length)

Decode a byte array into a string.

Parameters:
bytes - the byte buffer in which the encoded string is located
offset - the offset into the buffer
length - the number of bytes to be decoded
Returns:
the string decoded according to the specified or default specific character set

translateStringToByteArray

protected byte[] translateStringToByteArray(String string)
                                     throws UnsupportedEncodingException

Encode a string into a byte array.

Parameters:
string - the string to be encoded
Returns:
the byte array encoded according to the specified or default specific character set
Throws:
UnsupportedEncodingException

getPaddedVL

public long getPaddedVL()
Description copied from class: Attribute

Get the value length of this attribute, accounting for the need for even-length padding.

Overrides:
getPaddedVL in class Attribute
Returns:
the value length (padded to an even length)

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

getByteValues

public byte[] getByteValues()
                     throws DicomException

Get the values of this attribute as a byte array.

Overrides:
getByteValues in class Attribute
Returns:
the values as an array of bytes
Throws:
DicomException - thrown if values are not available

getStringValues

public String[] getStringValues(NumberFormat format)
                         throws DicomException
Description copied from class: Attribute

Get the values of this attribute as strings.

The strings may have been cleaned up into a canonical form, such as to remove padding as well as numbers formatted.

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

addValue

public void addValue(String v)
              throws DicomException
Description copied from class: Attribute
Add a(nother) String value after any existing values of this attribute.

Overrides:
addValue in class Attribute
Parameters:
v -
Throws:
DicomException

removeValues

public void removeValues()
                  throws DicomException
Description copied from class: Attribute

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

Specified by:
removeValues in class Attribute
Throws:
DicomException