public abstract class TextAttribute extends Attribute
An abstract class specializing Attribute
for
the family of text attributes.
Modifier and Type | Field and Description |
---|---|
protected SpecificCharacterSet |
specificCharacterSet |
valueLength, valueMultiplicity
Modifier | Constructor and Description |
---|---|
protected |
TextAttribute(AttributeTag t)
Construct an (empty) attribute; called only by concrete sub-classes.
|
protected |
TextAttribute(AttributeTag t,
long vl,
DicomInputStream i,
SpecificCharacterSet specificCharacterSet)
Read an attribute from an input stream; called only by concrete sub-classes.
|
protected |
TextAttribute(AttributeTag t,
java.lang.Long vl,
DicomInputStream i,
SpecificCharacterSet specificCharacterSet)
Read an attribute from an input stream; called only by concrete sub-classes.
|
protected |
TextAttribute(AttributeTag t,
SpecificCharacterSet specificCharacterSet)
Construct an (empty) attribute; called only by concrete sub-classes.
|
Modifier and Type | Method and Description |
---|---|
void |
addValue(java.lang.String v)
Add a(nother)
String value after any existing values of this attribute. |
byte[] |
getByteValues()
Get the values of this attribute as a byte array, if the values are byte order insensitive.
|
abstract int |
getMaximumLengthOfEntireValue() |
long |
getPaddedVL()
Get the value length of this attribute, accounting for the need for even-length padding.
|
java.lang.String[] |
getStringValues(java.text.NumberFormat format)
Get the values of this attribute as strings.
|
boolean |
isValid()
Do the values of this attribute comply with standard VR requirements?
E.g., Are only valid characters are present (for string and text attributes) and length is within limits?
|
void |
removeValues()
Remove any existing values, making the attribute empty (zero length).
|
boolean |
repairValues()
Repair any existing values of this attribute to make them comply with standard VR requirements.
|
java.lang.String |
toString(DicomDictionary dictionary)
Dump the contents of the attribute as a human-readable string.
|
protected java.lang.String |
translateByteArrayToString(byte[] bytes,
int offset,
int length)
Decode a byte array into a string.
|
protected byte[] |
translateStringToByteArray(java.lang.String string)
Encode a string into a byte array.
|
void |
write(DicomOutputStream o)
Write the entire attribute (including values) to the output stream.
|
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, getLengthOfEncodedValue, getLongValues, getLongValues, getLongValues, getOriginalStringValues, 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, getTag, getVL, getVM, getVR, getVRAsString, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValues, setValues, setValues, setValues, setValues, setValues, setValues, toString, writeBase
protected SpecificCharacterSet specificCharacterSet
protected TextAttribute(AttributeTag t)
Construct an (empty) attribute; called only by concrete sub-classes.
t
- the tag of the attributeprotected TextAttribute(AttributeTag t, long vl, DicomInputStream i, SpecificCharacterSet specificCharacterSet) throws java.io.IOException, DicomException
Read an attribute from an input stream; called only by concrete sub-classes.
t
- the tag of the attributevl
- the value length of the attributei
- the input streamspecificCharacterSet
- the character set to be used for the textjava.io.IOException
- if an I/O error occursDicomException
- if error in DICOM encodingprotected TextAttribute(AttributeTag t, java.lang.Long vl, DicomInputStream i, SpecificCharacterSet specificCharacterSet) throws java.io.IOException, DicomException
Read an attribute from an input stream; called only by concrete sub-classes.
t
- the tag of the attributevl
- the value length of the attributei
- the input streamspecificCharacterSet
- the character set to be used for the textjava.io.IOException
- if an I/O error occursDicomException
- if error in DICOM encodingprotected TextAttribute(AttributeTag t, SpecificCharacterSet specificCharacterSet)
Construct an (empty) attribute; called only by concrete sub-classes.
t
- the tag of the attributespecificCharacterSet
- the character set to be used for the textpublic void addValue(java.lang.String v) throws DicomException
Attribute
String
value after any existing values of this attribute.addValue
in class Attribute
v
- value to addDicomException
- thrown if value of this type is not valid for this concrete attribute classpublic byte[] getByteValues() throws DicomException
Attribute
Get the values of this attribute as a byte array, if the values are byte order insensitive.
getByteValues
in class Attribute
DicomException
- thrown if values are not available (such as not supported for this concrete attribute class)public abstract int getMaximumLengthOfEntireValue()
public long getPaddedVL()
Attribute
Get the value length of this attribute, accounting for the need for even-length padding.
getPaddedVL
in class Attribute
public java.lang.String[] getStringValues(java.text.NumberFormat format) throws DicomException
Attribute
Get the values of this attribute as strings.
The strings may have been cleaned up into a canonical form, such as to remove padding as well as numbers formatted.
getStringValues
in class Attribute
format
- the format to use for each numerical or decimal valueString
DicomException
- thrown if values are not available (such as not supported for this concrete attribute class)public boolean isValid() throws DicomException
Attribute
isValid
in class Attribute
DicomException
- if error in DICOM value extractionpublic void removeValues() throws DicomException
Attribute
Remove any existing values, making the attribute empty (zero length).
removeValues
in class Attribute
DicomException
- thrown if not supported for concrete attribute classpublic boolean repairValues() throws DicomException
Attribute
repairValues
in class Attribute
DicomException
- if error in DICOM value extractionpublic java.lang.String toString(DicomDictionary dictionary)
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>
protected java.lang.String translateByteArrayToString(byte[] bytes, int offset, int length)
Decode a byte array into a string.
bytes
- the byte buffer in which the encoded string is locatedoffset
- the offset into the bufferlength
- the number of bytes to be decodedprotected byte[] translateStringToByteArray(java.lang.String string) throws java.io.UnsupportedEncodingException
Encode a string into a byte array.
string
- the string to be encodedjava.io.UnsupportedEncodingException
- if the encoding is not supported by the host platformpublic void write(DicomOutputStream o) throws DicomException, java.io.IOException
Attribute
Write the entire attribute (including values) to the output stream.
write
in class Attribute
o
- the output streamDicomException
- if error in DICOM encodingjava.io.IOException
- if an I/O error occurs