com.pixelmed.dicom

## Class UniqueIdentifierAttribute

- java.lang.Object
- - com.pixelmed.dicom.Attribute
  - - com.pixelmed.dicom.StringAttribute
    - - com.pixelmed.dicom.UniqueIdentifierAttribute

    public class UniqueIdentifierAttribute
    extends StringAttribute

A concrete class specializing `Attribute` for Unique Identifier (UI) attributes.

Though an instance of this class may be created using its constructors, there is also a factory class, `AttributeFactory`.

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

### Field Summary

Fields
`protected static int` `MAX_LENGTH_SINGLE_VALUE`

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

`specificCharacterSet`

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

`valueLength, valueMultiplicity`

### Constructor Summary

Constructors
Constructor and Description
`UniqueIdentifierAttribute(AttributeTag t)` Construct an (empty) attribute.
`UniqueIdentifierAttribute(AttributeTag t, long vl, DicomInputStream i)` Read an attribute from an input stream.
`UniqueIdentifierAttribute(AttributeTag t, java.lang.Long vl, DicomInputStream i)` Read an attribute from an input stream.

### Method Summary

Methods
`int` `getMaximumLengthOfSingleValue()`
`protected byte` `getPadByte()` Get the appropriate (0X00) byte for padding UIDS to an even length.
`byte[]` `getVR()` Get the value representation of this attribute (UI).
`boolean` `isCharacterInValueValid(int c)`
`static boolean` `isCodingSchemeRelated(AttributeTag t)`
`static boolean` `isPrivateRelated(AttributeTag t)`
`static boolean` `isSOPClassRelated(AttributeTag t)`
`static boolean` `isTransferSyntaxRelated(AttributeTag t)`
`static boolean` `isTransient(AttributeTag t)`
`boolean` `repairValues()` Repair any existing values of this attribute to make them comply with standard VR requirements.

### Methods inherited from class com.pixelmed.dicom.StringAttribute

`addValue, addValue, addValue, addValue, addValue, addValue, addValue, allowRepairOfIncorrectLength, allowRepairOfInvalidCharacterReplacement, areCharactersInValuesValid, areLengthsOfValuesValid, areValuesWellFormed, flushCachedCopies, getByteValues, getDoubleValues, getFloatValues, getIntegerValues, getInvalidCharacterReplacement, getLongValues, getOriginalStringValues, getPaddedVL, getShortValues, getSpecificCharacterSet, getStringValues, isValid, removeValues, setSpecificCharacterSet, toString, translateByteArrayToString, translateStringToByteArray, write`

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

`getDelimitedStringValuesOrDefault, getDelimitedStringValuesOrDefault, getDelimitedStringValuesOrDefault, getDelimitedStringValuesOrDefault, getDelimitedStringValuesOrDefault, getDelimitedStringValuesOrDefault, getDelimitedStringValuesOrEmptyString, getDelimitedStringValuesOrEmptyString, getDelimitedStringValuesOrEmptyString, getDelimitedStringValuesOrEmptyString, getDelimitedStringValuesOrEmptyString, getDelimitedStringValuesOrEmptyString, getDelimitedStringValuesOrNull, getDelimitedStringValuesOrNull, getDelimitedStringValuesOrNull, getDelimitedStringValuesOrNull, getDelimitedStringValuesOrNull, getDelimitedStringValuesOrNull, getDoubleValues, getDoubleValues, getElement, getFloatValues, getFloatValues, getGroup, getIntegerValues, getIntegerValues, getLongValues, getLongValues, 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, getTag, getVL, getVM, getVRAsString, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValues, setValues, setValues, setValues, toString, writeBase`

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

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

### Field Detail

#### MAX_LENGTH_SINGLE_VALUE

    protected static final int MAX_LENGTH_SINGLE_VALUE

See Also:
  Constant Field Values

### Constructor Detail

#### UniqueIdentifierAttribute

    public UniqueIdentifierAttribute(AttributeTag t)

Construct an (empty) attribute.

Parameters:
  `t` - the tag of the attribute

#### UniqueIdentifierAttribute

    public UniqueIdentifierAttribute(AttributeTag t,
                             long vl,
                             DicomInputStream i)
                              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
Throws:
  `java.io.IOException`
  `DicomException`

#### UniqueIdentifierAttribute

    public UniqueIdentifierAttribute(AttributeTag t,
                             java.lang.Long vl,
                             DicomInputStream i)
                              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
Throws:
  `java.io.IOException`
  `DicomException`

### Method Detail

#### getMaximumLengthOfSingleValue

    public final int getMaximumLengthOfSingleValue()

Specified by:
  `getMaximumLengthOfSingleValue` in class `StringAttribute`

#### getVR

    public byte[] getVR()

Get the value representation of this attribute (UI).

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

#### getPadByte

    protected byte getPadByte()

Get the appropriate (0X00) byte for padding UIDS to an even length.

Overrides:
  `getPadByte` in class `StringAttribute`
Returns:
  the byte pad value appropriate to the VR

#### isSOPClassRelated

    public static boolean isSOPClassRelated(AttributeTag t)

#### isTransferSyntaxRelated

    public static boolean isTransferSyntaxRelated(AttributeTag t)

#### isCodingSchemeRelated

    public static boolean isCodingSchemeRelated(AttributeTag t)

#### isPrivateRelated

    public static boolean isPrivateRelated(AttributeTag t)

#### isTransient

    public static boolean isTransient(AttributeTag t)

#### isCharacterInValueValid

    public final boolean isCharacterInValueValid(int c)
                                          throws DicomException

Overrides:
  `isCharacterInValueValid` in class `StringAttribute`
Throws:
  `DicomException`

#### repairValues

    public boolean repairValues()
                         throws DicomException

Description copied from class: `Attribute`
Repair any existing values of this attribute to make them comply with standard VR requirements. E.g., truncate them if they are too long. N.B., Not all types of attribute support repair.

Overrides:
  `repairValues` in class `StringAttribute`
Returns:
  true if successfully repaired or was already valid
Throws:
  `DicomException`