com.pixelmed.dicom

## Class TextAttribute

- java.lang.Object
- - com.pixelmed.dicom.Attribute
  - - 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

Fields
`protected SpecificCharacterSet` `specificCharacterSet`

### Fields inherited from class com.pixelmed.dicom.Attribute

`valueLength, valueMultiplicity`

### Constructor Summary

Constructors
`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, java.lang.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

Methods
`void` `addValue(java.lang.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.
`java.lang.String[]` `getStringValues(java.text.NumberFormat format)` Get the values of this attribute as strings.
`void` `removeValues()` Remove any existing values, making the attribute empty (zero length).
`java.lang.String` `toString(DicomDictionary dictionary)` Dump the contents of the attribute as a human-readable string.
`protected java.lang.String` `translateByteArrayToString(byte[] bytes, int offset, int length)` Decode a byte array into a string.
`protected byte[]` `translateStringToByteArray(java.lang.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 java.io.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:
  `java.io.IOException`
  `DicomException`

#### TextAttribute

    protected TextAttribute(AttributeTag t,
                 java.lang.Long vl,
                 DicomInputStream i,
                 SpecificCharacterSet specificCharacterSet)
                     throws java.io.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:
  `java.io.IOException`
  `DicomException`

### Method Detail

#### translateByteArrayToString

    protected java.lang.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(java.lang.String string)
                                         throws java.io.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:
  `java.io.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,
                      java.io.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:
  `java.io.IOException`
  `DicomException`

#### toString

    public java.lang.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 java.lang.String[] getStringValues(java.text.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(java.lang.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`