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.
Attribute
,
AttributeFactory
,
AttributeList
Modifier and Type | Field and Description |
---|---|
protected long[] |
byteOffsets |
protected boolean |
deleteFilesWhenNoLongerNeeded |
protected java.io.File[] |
files |
protected long[] |
lengths |
valueLength, valueMultiplicity
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.
|
Modifier and Type | Method and Description |
---|---|
void |
deleteFilesWhenNoLongerNeeded() |
protected void |
finalize() |
long[] |
getByteOffsets() |
byte[] |
getByteValues()
Get the values of this attribute as a byte array.
|
java.io.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 (OB).
|
void |
removeValues()
Remove any existing values, making the attribute empty (zero length).
|
void |
setFiles(java.io.File[] files,
long[] byteOffsets,
long[] lengths) |
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.
|
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, getLengthOfEncodedValue, 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
protected long[] byteOffsets
protected boolean deleteFilesWhenNoLongerNeeded
protected java.io.File[] files
protected long[] lengths
public OtherByteAttributeMultipleFilesOnDisk(AttributeTag t)
Construct an (empty) attribute.
t
- the tag of the attributepublic OtherByteAttributeMultipleFilesOnDisk(AttributeTag t, java.io.File[] files) throws java.io.IOException, DicomException
Read an attribute from a set of files.
t
- the tag of the attributefiles
- the input filesjava.io.IOException
DicomException
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.
t
- the tag of the attributefiles
- the input filesbyteOffsets
- the byte offsets in the files of the start of the data, one entry for each file, or null if 0 for all fileslengths
- 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 anyjava.io.IOException
DicomException
public OtherByteAttributeMultipleFilesOnDisk(AttributeTag t, java.lang.String[] fileNames) throws java.io.IOException, DicomException
Read an attribute from a set of files.
t
- the tag of the attributefileNames
- the input filesjava.io.IOException
DicomException
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.
t
- the tag of the attributefileNames
- the input filesbyteOffsets
- the byte offsets in the files of the start of the data, one entry for each file, or null if 0 for all fileslengths
- 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 anyjava.io.IOException
DicomException
public void deleteFilesWhenNoLongerNeeded()
protected void finalize() throws java.lang.Throwable
finalize
in class java.lang.Object
java.lang.Throwable
public long[] getByteOffsets()
public byte[] getByteValues() throws DicomException
Get the values of this attribute as a byte array.
This allocates a new array of sufficient length, which may fail if it is too large,
and defeats the point of leaving the byte values on disk in the first place. However, it
is a fallback for when the caller does not want to go to the trouble of creating a
MappedByteBuffer
from the file,
or more likely is not even aware that the attribute values have been left on disk.
getByteValues
in class Attribute
DicomException
- thrown if values cannot be readpublic java.io.File[] getFiles()
public long[] getLengths()
public long getPaddedVL()
Attribute
Get the value length of this attribute, accounting for the need for even-length padding.
getPaddedVL
in class Attribute
public byte[] getVR()
Get the value representation of this attribute (OB).
getVR
in class Attribute
ValueRepresentation
public void removeValues()
Attribute
Remove any existing values, making the attribute empty (zero length).
removeValues
in class Attribute
public void setFiles(java.io.File[] files, long[] byteOffsets, long[] lengths) throws java.io.IOException
files
- the input filesbyteOffsets
- the byte offsets in the files of the start of the data, one entry for each file, or null if 0 for all fileslengths
- 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 anyjava.io.IOException
public java.lang.String toString(DicomDictionary dictionary)
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>
public void write(DicomOutputStream o) throws DicomException, java.io.IOException
Attribute
Write the entire attribute (including values) to the output stream.
write
in class Attribute
o
- java.io.IOException
DicomException