com.pixelmed.dicom

## 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` and `OtherWordAttributeOnDisk`.

See Also:
  `Attribute`, `AttributeFactory`, `AttributeList`, `OtherByteAttributeOnDisk`, `OtherWordAttributeOnDisk`

### Field Summary

Fields
`protected long` `byteOffset`
`protected java.io.File` `file`

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

`valueLength, valueMultiplicity`

### Constructor Summary

Constructors
Constructor and 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

Methods
`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.
`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`

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

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

### Field Detail

#### byteOffset

    protected long byteOffset

#### file

    protected java.io.File file

### 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 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:
  `java.io.IOException`
  `DicomException`

#### 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 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:
  `java.io.IOException`
  `DicomException`

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

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

Parameters:
  `file` - the new file containing the data

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