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.
|
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, 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, 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, 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, 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 textprotected 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 encodingpublic abstract int getMaximumLengthOfEntireValue()
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 long getPaddedVL()
Attribute
Get the value length of this attribute, accounting for the need for even-length padding.
getPaddedVL
in class Attribute
public 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 occurspublic 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>
public byte[] getByteValues() throws DicomException
Attribute
Get the values of this attribute as a byte array.
getByteValues
in class Attribute
DicomException
- thrown if values are not available (such as not supported for this concrete attribute class)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 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 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 isValid() throws DicomException
Attribute
isValid
in class Attribute
DicomException
- if error in DICOM value extractionpublic boolean repairValues() throws DicomException
Attribute
repairValues
in class Attribute
DicomException
- if error in DICOM value extraction