Package 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
Modifier and Type
Field
Description
`protected static final 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
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, Long vl, DicomInputStream i)`
Read an attribute from an input stream.

## Method Summary

Modifier and Type
Method
Description
`final 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).
`final boolean`
`isCharacterInValueValid(int c)`
`static boolean`
`isCodingSchemeRelated(AttributeTag t)`
`static boolean`
`isPrivateNonTransient(AttributeTag t, AttributeList list)`
`static boolean`
`isPrivateRelated(AttributeTag t)`
`static boolean`
`isSOPClassRelated(AttributeTag t)`
`static boolean`
`isTransferSyntaxRelated(AttributeTag t)`
`static boolean`
`isTransient(AttributeTag t)`
`static boolean`
`isTransient(AttributeTag t, AttributeList list)`
`static boolean`
`isWellKnownRelated(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

`getByteValues, 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, getLengthOfBaseOfEncodedAttribute, getLengthOfEncodedValue, getLengthOfEntireEncodedAttribute, 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, setValues, setValues, setValues, toString, writeBase`

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

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

## Field Details

### MAX_LENGTH_SINGLE_VALUE

protected static final int MAX_LENGTH_SINGLE_VALUE

See Also:
  - Constant Field Values

## Constructor Details

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

### UniqueIdentifierAttribute

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

## Method Details

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

### isWellKnownRelated

public static boolean isWellKnownRelated(AttributeTag t)

### isCodingSchemeRelated

public static boolean isCodingSchemeRelated(AttributeTag t)

### isPrivateRelated

public static boolean isPrivateRelated(AttributeTag t)

### isTransient

public static boolean isTransient(AttributeTag t)

### isPrivateNonTransient

public static boolean isPrivateNonTransient(AttributeTag t, AttributeList list)

### isTransient

public static boolean isTransient(AttributeTag t, AttributeList list)

### 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` - if error in DICOM value extraction