com.pixelmed.dicom

## Class OtherByteAttributeMultipleFilesOnDisk

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

    public class OtherByteAttributeMultipleFilesOnDisk
    extends Attribute

A concrete class specializing `Attribute` for Other Byte (OB) attributes whose values are not memory resident but rather are stored in multiple files on disk.

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
`protected long[]` `byteOffsets`
`protected java.io.File[]` `files`
`protected long[]` `lengths`

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

`valueLength, valueMultiplicity`

### Constructor Summary

Constructors
Constructor and Description
`OtherByteAttributeMultipleFilesOnDisk(AttributeTag t)` Construct an (empty) attribute.
`OtherByteAttributeMultipleFilesOnDisk(AttributeTag t, java.io.File[] files)` Read an attribute from a set of files.
`OtherByteAttributeMultipleFilesOnDisk(AttributeTag t, java.io.File[] files, long[] byteOffsets, long[] lengths)` Read an attribute from a set of files.
`OtherByteAttributeMultipleFilesOnDisk(AttributeTag t, java.lang.String[] fileNames)` Read an attribute from a set of files.
`OtherByteAttributeMultipleFilesOnDisk(AttributeTag t, java.lang.String[] fileNames, long[] byteOffsets, long[] lengths)` Read an attribute from a set of files.

### Method Summary

Methods
`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).
`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, getByteValues, 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, setValues, toString, writeBase`

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

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

### Field Detail

#### files

    protected java.io.File[] files

#### byteOffsets

    protected long[] byteOffsets

#### lengths

    protected long[] lengths

### Constructor Detail

#### OtherByteAttributeMultipleFilesOnDisk

    public OtherByteAttributeMultipleFilesOnDisk(AttributeTag t)

Construct an (empty) attribute.

Parameters:
  `t` - the tag of the attribute

#### OtherByteAttributeMultipleFilesOnDisk

    public OtherByteAttributeMultipleFilesOnDisk(AttributeTag t,
                                         java.io.File[] files,
                                         long[] byteOffsets,
                                         long[] lengths)
                                          throws java.io.IOException,
                                                 DicomException

Read an attribute from a set of files.

Parameters:
  `t` - the tag of the attribute
  `files` - the input files
  `byteOffsets` - the byte offsets in the files of the start of the data, one entry for each file, or null if 0 for all files
  `lengths` - the lengths in the files from the the start of the data, one entry for each file, or null if the remaining file length after the byteOffset, if any
Throws:
  `java.io.IOException`
  `DicomException`

#### OtherByteAttributeMultipleFilesOnDisk

    public OtherByteAttributeMultipleFilesOnDisk(AttributeTag t,
                                         java.lang.String[] fileNames,
                                         long[] byteOffsets,
                                         long[] lengths)
                                          throws java.io.IOException,
                                                 DicomException

Read an attribute from a set of files.

Parameters:
  `t` - the tag of the attribute
  `fileNames` - the input files
  `byteOffsets` - the byte offsets in the files of the start of the data, one entry for each file, or null if 0 for all files
  `lengths` - the lengths in the files from the the start of the data, one entry for each file, or null if the remaining file length after the byteOffset, if any
Throws:
  `java.io.IOException`
  `DicomException`

#### OtherByteAttributeMultipleFilesOnDisk

    public OtherByteAttributeMultipleFilesOnDisk(AttributeTag t,
                                         java.io.File[] files)
                                          throws java.io.IOException,
                                                 DicomException

Read an attribute from a set of files.

Parameters:
  `t` - the tag of the attribute
  `files` - the input files
Throws:
  `java.io.IOException`
  `DicomException`

#### OtherByteAttributeMultipleFilesOnDisk

    public OtherByteAttributeMultipleFilesOnDisk(AttributeTag t,
                                         java.lang.String[] fileNames)
                                          throws java.io.IOException,
                                                 DicomException

Read an attribute from a set of files.

Parameters:
  `t` - the tag of the attribute
  `fileNames` - the input files
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

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