com.pixelmed.dicom

## Class OtherByteAttribute

- java.lang.Object
- - com.pixelmed.dicom.Attribute
  - - com.pixelmed.dicom.OtherByteAttribute

    public class OtherByteAttribute
    extends Attribute

A concrete class specializing `Attribute` for Other Byte (OB) 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

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

`valueLength, valueMultiplicity`

### Constructor Summary

Constructors
Constructor and Description
`OtherByteAttribute(AttributeTag t)` Construct an (empty) attribute.
`OtherByteAttribute(AttributeTag t, long vl, DicomInputStream i)` Read an attribute from an input stream.
`OtherByteAttribute(AttributeTag t, java.lang.Long vl, DicomInputStream i)` Read an attribute from an input stream.

### Method Summary

Methods
`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.
`byte[]` `getVR()` Get the value representation of this attribute (OB).
`void` `removeValues()` Remove any existing values, making the attribute empty (zero length).
`void` `setValues(byte[] v)` Replace any existing values with the supplied array of byte.
`java.lang.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, 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, getStringValues, getTag, getVL, getVM, getVRAsString, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValues, setValues, setValues, toString, writeBase`

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

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

### Constructor Detail

#### OtherByteAttribute

    public OtherByteAttribute(AttributeTag t)

Construct an (empty) attribute.

Parameters:
  `t` - the tag of the attribute

#### OtherByteAttribute

    public OtherByteAttribute(AttributeTag t,
                      long vl,
                      DicomInputStream i)
                       throws java.io.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:
  `java.io.IOException`
  `DicomException`

#### OtherByteAttribute

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

### Method Detail

#### 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

#### setValues

    public void setValues(byte[] v)
                   throws DicomException

Description copied from class: `Attribute`
Replace any existing values with the supplied array of byte.

Overrides:
  `setValues` in class `Attribute`
Parameters:
  `v` -
Throws:
  `DicomException`

#### getByteValues

    public byte[] getByteValues()
                         throws DicomException

Description copied from class: `Attribute`

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`

#### 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 (OB).

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