Package com.pixelmed.dicom

# Class OtherFloatAttributeMultipleFilesOnDisk

java.lang.Object
com.pixelmed.dicom.Attribute
com.pixelmed.dicom.OtherFloatAttributeMultipleFilesOnDisk

public class OtherFloatAttributeMultipleFilesOnDisk extends Attribute

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

See Also:
  - `Attribute`
  - `AttributeFactory`
  - `AttributeList`

## Field Summary

Fields
Modifier and Type
Field
Description
`protected boolean`
`bigEndian`
`protected long[]`
`byteOffsets`
`protected boolean`
`deleteFilesWhenNoLongerNeeded`
`protected File[]`
`files`
`protected long[]`
`lengths`

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

`valueLength, valueMultiplicity`

## Constructor Summary

Constructors
Constructor
Description
`OtherFloatAttributeMultipleFilesOnDisk(AttributeTag t, boolean bigEndian)`
Construct an (empty) attribute.
`OtherFloatAttributeMultipleFilesOnDisk(AttributeTag t, File[] files, boolean bigEndian)`
Read an attribute from a set of files.
`OtherFloatAttributeMultipleFilesOnDisk(AttributeTag t, File[] files, long[] byteOffsets, long[] lengths, boolean bigEndian)`
Read an attribute from a set of files.
`OtherFloatAttributeMultipleFilesOnDisk(AttributeTag t, String[] fileNames, boolean bigEndian)`
Read an attribute from a set of files.
`OtherFloatAttributeMultipleFilesOnDisk(AttributeTag t, String[] fileNames, long[] byteOffsets, long[] lengths, boolean bigEndian)`
Read an attribute from a set of files.

## Method Summary

Modifier and Type
Method
Description
`void`
`deleteFilesWhenNoLongerNeeded()`
`protected void`
`finalize()`
`long[]`
`getByteOffsets()`
`File[]`
`getFiles()`
`long[]`
`getLengths()`
`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 (OF).
`void`
`removeValues()`
Remove any existing values, making the attribute empty (zero length).
`void`
`setFiles(File[] files, long[] byteOffsets, long[] lengths)`
`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, 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, getLengthOfBaseOfEncodedAttribute, getLengthOfEncodedValue, getLengthOfEntireEncodedAttribute, 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, isValid, repairValues, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValues, setValues, setValues, setValues, setValues, setValues, setValues, toString, writeBase`

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

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

## Field Details

### files

protected File[] files

### byteOffsets

protected long[] byteOffsets

### lengths

protected long[] lengths

### deleteFilesWhenNoLongerNeeded

protected boolean deleteFilesWhenNoLongerNeeded

### bigEndian

protected boolean bigEndian

## Constructor Details

### OtherFloatAttributeMultipleFilesOnDisk

public OtherFloatAttributeMultipleFilesOnDisk(AttributeTag t, boolean bigEndian)

Construct an (empty) attribute.

Any file set later will be expected to be little endian.

Parameters:
  `t` - the tag of the attribute
  `bigEndian` - big endian, false if little endian

### OtherFloatAttributeMultipleFilesOnDisk

public OtherFloatAttributeMultipleFilesOnDisk(AttributeTag t, File[] files, long[] byteOffsets, long[] lengths, boolean bigEndian) throws 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:
  `IOException`
  `DicomException`

### OtherFloatAttributeMultipleFilesOnDisk

public OtherFloatAttributeMultipleFilesOnDisk(AttributeTag t, String[] fileNames, long[] byteOffsets, long[] lengths, boolean bigEndian) throws 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:
  `IOException`
  `DicomException`

### OtherFloatAttributeMultipleFilesOnDisk

public OtherFloatAttributeMultipleFilesOnDisk(AttributeTag t, File[] files, boolean bigEndian) throws IOException, DicomException

Read an attribute from a set of files.

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

### OtherFloatAttributeMultipleFilesOnDisk

public OtherFloatAttributeMultipleFilesOnDisk(AttributeTag t, String[] fileNames, boolean bigEndian) throws IOException, DicomException

Read an attribute from a set of files.

Parameters:
  `t` - the tag of the attribute
  `fileNames` - the input files
Throws:
  `IOException`
  `DicomException`

## Method Details

### getFiles

public File[] getFiles()

Returns:
  the files containing the data

### getByteOffsets

public long[] getByteOffsets()

Returns:
  the per-file byte offsets to the frame data

### getLengths

public long[] getLengths()

Returns:
  the per-file lengths of the data for each frame (after the byte offset) in bytes

### setFiles

public void setFiles(File[] files, long[] byteOffsets, long[] lengths) throws IOException

Parameters:
  `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:
  `IOException`

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

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

### deleteFilesWhenNoLongerNeeded

public void deleteFilesWhenNoLongerNeeded()

### finalize

protected void finalize() throws Throwable

Throws:
  `Throwable`

### getVR

public byte[] getVR()

Get the value representation of this attribute (OF).

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