Class OtherAttributeOnDisk

java.lang.Object
com.pixelmed.dicom.Attribute
com.pixelmed.dicom.OtherAttributeOnDisk
Direct Known Subclasses:
OtherByteAttributeCompressedSeparateFramesOnDisk, 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 and OtherWordAttributeOnDisk.

See Also:
  • Field Details

    • byteOffset

      protected long byteOffset
    • file

      protected File file
    • deleteFilesWhenNoLongerNeeded

      protected boolean deleteFilesWhenNoLongerNeeded
  • Constructor Details

    • OtherAttributeOnDisk

      public OtherAttributeOnDisk(AttributeTag t)

      Construct an (empty) attribute.

      Parameters:
      t - the tag of the attribute
    • OtherAttributeOnDisk

      public OtherAttributeOnDisk(AttributeTag t, File file, boolean deleteFilesWhenNoLongerNeeded) throws IOException, DicomException

      Read an attribute from a file.

      Parameters:
      t - the tag of the attribute
      file - the file containing the data
      deleteFilesWhenNoLongerNeeded - delete file when attribute goes out of scope
      Throws:
      IOException - if an I/O error occurs
      DicomException - if error in DICOM encoding
    • OtherAttributeOnDisk

      public OtherAttributeOnDisk(AttributeTag t, long vl, DicomInputStream i, long byteOffset) throws 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
      byteOffset - the byte offset in the input stream of the start of the data
      Throws:
      IOException - if an I/O error occurs
      DicomException - if error in DICOM encoding
    • OtherAttributeOnDisk

      public OtherAttributeOnDisk(AttributeTag t, Long vl, DicomInputStream i, Long byteOffset) throws 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
      byteOffset - the byte offset in the input stream of the start of the data
      Throws:
      IOException - if an I/O error occurs
      DicomException - if error in DICOM encoding
  • Method Details

    • 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
    • getByteOffset

      public long getByteOffset()
      Returns:
      the offset from the start of the object in bytes
    • getFile

      public File getFile()
      Returns:
      the file containing the data
    • setFile

      public void setFile(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(File file, long byteOffset) throws 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 data
      byteOffset - the byte offset in the input stream of the start of the data
      Throws:
      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 class Attribute
    • deleteFilesWhenNoLongerNeeded

      public void deleteFilesWhenNoLongerNeeded()
    • finalize

      protected void finalize() throws Throwable
      Throws:
      Throwable