Package com.pixelmed.dicom

# Class DecimalStringAttribute

java.lang.Object
com.pixelmed.dicom.Attribute
com.pixelmed.dicom.StringAttribute
com.pixelmed.dicom.DecimalStringAttribute

public class DecimalStringAttribute extends StringAttribute

A concrete class specializing `Attribute` for Decimal String (DS) 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
`DecimalStringAttribute(AttributeTag t)`
Construct an (empty) attribute.
`DecimalStringAttribute(AttributeTag t, long vl, DicomInputStream i)`
Read an attribute from an input stream.
`DecimalStringAttribute(AttributeTag t, Long vl, DicomInputStream i)`
Read an attribute from an input stream.

## Method Summary

Modifier and Type
Method
Description
`void`
`addValue(double v)`
Add a(nother) double value after any existing values of this attribute.
`void`
`addValue(float v)`
Add a(nother) float value after any existing values of this attribute.
`void`
`addValue(long v)`
Add a(nother) long value after any existing values of this attribute.
`final int`
`getMaximumLengthOfSingleValue()`
`String[]`
`getStringValues(NumberFormat format)`
Get the values of this attribute as strings.
`byte[]`
`getVR()`
Get the value representation of this attribute (DS).
`final boolean`
`isCharacterInValueValid(int c)`
`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, allowRepairOfIncorrectLength, allowRepairOfInvalidCharacterReplacement, areCharactersInValuesValid, areLengthsOfValuesValid, areValuesWellFormed, flushCachedCopies, getByteValues, getDoubleValues, getFloatValues, getIntegerValues, getInvalidCharacterReplacement, getLongValues, getOriginalStringValues, getPadByte, getPaddedVL, getShortValues, getSpecificCharacterSet, 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

### DecimalStringAttribute

public DecimalStringAttribute(AttributeTag t)

Construct an (empty) attribute.

Parameters:
  `t` - the tag of the attribute

### DecimalStringAttribute

public DecimalStringAttribute(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` - if an I/O error occurs
  `DicomException` - if error in DICOM encoding

### DecimalStringAttribute

public DecimalStringAttribute(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` - if an I/O error occurs
  `DicomException` - if error in DICOM encoding

## Method Details

### getMaximumLengthOfSingleValue

public final int getMaximumLengthOfSingleValue()

Specified by:
  `getMaximumLengthOfSingleValue` in class `StringAttribute`

### getVR

public byte[] getVR()

Get the value representation of this attribute (DS).

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

### getStringValues

public String[] getStringValues(NumberFormat format) throws DicomException
Description copied from class: `StringAttribute`

Get the values of this attribute as strings.

The strings are first cleaned up into a canonical form, to remove leading and trailing padding.

Overrides:
  `getStringValues` in class `StringAttribute`
Parameters:
  `format` - the format to use for each numerical or decimal value
Returns:
  the values as an array of `String`
Throws:
  `DicomException` - if error in DICOM encoding

### addValue

public void addValue(long v) throws DicomException
Description copied from class: `Attribute`
Add a(nother) long value after any existing values of this attribute.

Overrides:
  `addValue` in class `StringAttribute`
Parameters:
  `v` - value to add
Throws:
  `DicomException` - not thrown

### addValue

public void addValue(float v) throws DicomException
Description copied from class: `Attribute`
Add a(nother) float value after any existing values of this attribute.

Overrides:
  `addValue` in class `StringAttribute`
Parameters:
  `v` - value to add
Throws:
  `DicomException` - not thrown

### addValue

public void addValue(double v) throws DicomException
Description copied from class: `Attribute`
Add a(nother) double value after any existing values of this attribute.

Overrides:
  `addValue` in class `StringAttribute`
Parameters:
  `v` - value to add
Throws:
  `DicomException` - not thrown

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