Class OtherAttributeOnDisk
- java.lang.Object
-
- com.pixelmed.dicom.Attribute
-
- com.pixelmed.dicom.OtherAttributeOnDisk
-
- Direct Known Subclasses:
OtherByteAttributeOnDisk
,OtherWordAttributeOnDisk
public abstract class OtherAttributeOnDisk extends Attribute
An abstract class specializing
Attribute
for Other (OB or OW) attributes whose values are not memory resident.Used as a base class for
OtherByteAttributeOnDisk
andOtherWordAttributeOnDisk
.
-
-
Field Summary
Fields Modifier and Type Field Description protected long
byteOffset
protected boolean
deleteFilesWhenNoLongerNeeded
protected java.io.File
file
-
Fields inherited from class com.pixelmed.dicom.Attribute
valueLength, valueMultiplicity
-
-
Constructor Summary
Constructors Constructor Description OtherAttributeOnDisk(AttributeTag t)
Construct an (empty) attribute.OtherAttributeOnDisk(AttributeTag t, long vl, DicomInputStream i, long byteOffset)
Read an attribute from an input stream.OtherAttributeOnDisk(AttributeTag t, java.lang.Long vl, DicomInputStream i, java.lang.Long byteOffset)
Read an attribute from an input stream.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
deleteFilesWhenNoLongerNeeded()
protected void
finalize()
long
getByteOffset()
java.io.File
getFile()
void
removeValues()
Remove any existing values, making the attribute empty (zero length).void
setFile(java.io.File file)
Change the file containing the data, for example if it has been renamed.void
setFile(java.io.File file, long byteOffset)
Change the file containing the data, for example if it is a new, perhaps temporary, file containing only pixel data.java.lang.String
toString(DicomDictionary dictionary)
Dump the contents of the attribute as a human-readable string.-
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, getPaddedVL, 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, getVR, getVRAsString, isValid, repairValues, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValues, setValues, setValues, setValues, toString, write, writeBase
-
-
-
-
Constructor Detail
-
OtherAttributeOnDisk
public OtherAttributeOnDisk(AttributeTag t)
Construct an (empty) attribute.
- Parameters:
t
- the tag of the attribute
-
OtherAttributeOnDisk
public OtherAttributeOnDisk(AttributeTag t, long vl, DicomInputStream i, long byteOffset) throws java.io.IOException, DicomException
Read an attribute from an input stream.
- Parameters:
t
- the tag of the attributevl
- the value length of the attributei
- the input streambyteOffset
- the byte offset in the input stream of the start of the data- Throws:
java.io.IOException
- if an I/O error occursDicomException
- if error in DICOM encoding
-
OtherAttributeOnDisk
public OtherAttributeOnDisk(AttributeTag t, java.lang.Long vl, DicomInputStream i, java.lang.Long byteOffset) throws java.io.IOException, DicomException
Read an attribute from an input stream.
- Parameters:
t
- the tag of the attributevl
- the value length of the attributei
- the input streambyteOffset
- the byte offset in the input stream of the start of the data- Throws:
java.io.IOException
- if an I/O error occursDicomException
- if error in DICOM encoding
-
-
Method Detail
-
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>
-
getByteOffset
public long getByteOffset()
- Returns:
- the offset from the start of the object in bytes
-
getFile
public java.io.File getFile()
- Returns:
- the file containing the data
-
setFile
public void setFile(java.io.File file)
Change the file containing the data, for example if it has been renamed.
The existing byteOffset value is unchanged.
- Parameters:
file
- the new file containing the data
-
setFile
public void setFile(java.io.File file, long byteOffset) throws java.io.IOException
Change the file containing the data, for example if it is a new, perhaps temporary, file containing only pixel data.
The value length is set to the length of the file minus the byteOffset.
- Parameters:
file
- the new file containing the databyteOffset
- the byte offset in the input stream of the start of the data- Throws:
java.io.IOException
- if cannot obtain the length of the file
-
removeValues
public void removeValues()
Description copied from class:Attribute
Remove any existing values, making the attribute empty (zero length).
- Specified by:
removeValues
in classAttribute
-
deleteFilesWhenNoLongerNeeded
public void deleteFilesWhenNoLongerNeeded()
-
finalize
protected void finalize() throws java.lang.Throwable
- Overrides:
finalize
in classjava.lang.Object
- Throws:
java.lang.Throwable
-
-