public abstract class StringAttribute extends Attribute
An abstract class specializing Attribute for
the family of string attributes.
| Modifier and Type | Field and Description |
|---|---|
protected SpecificCharacterSet |
specificCharacterSet |
valueLength, valueMultiplicity| Modifier | Constructor and Description |
|---|---|
protected |
StringAttribute(AttributeTag t)
Construct an (empty) attribute; called only by concrete sub-classes.
|
protected |
StringAttribute(AttributeTag t,
long vl,
DicomInputStream i)
Read an attribute from an input stream; called only by concrete sub-classes.
|
protected |
StringAttribute(AttributeTag t,
Long vl,
DicomInputStream i)
Read an attribute from an input stream; called only by concrete sub-classes.
|
protected |
StringAttribute(AttributeTag t,
long vl,
DicomInputStream i,
SpecificCharacterSet specificCharacterSet)
Read an attribute from an input stream; called only by concrete sub-classes.
|
protected |
StringAttribute(AttributeTag t,
Long vl,
DicomInputStream i,
SpecificCharacterSet specificCharacterSet)
Read an attribute from an input stream; called only by concrete sub-classes.
|
protected |
StringAttribute(AttributeTag t,
SpecificCharacterSet specificCharacterSet)
Construct an (empty) attribute; called only by concrete sub-classes.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addValue(byte v)
Add a(nother) byte value after any existing values of this attribute.
|
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(int v)
Add a(nother) int value after any existing values of this attribute.
|
void |
addValue(long v)
Add a(nother) long value after any existing values of this attribute.
|
void |
addValue(short v)
Add a(nother) short value after any existing values of this attribute.
|
void |
addValue(String v)
Add a(nother)
String value after any existing values of this attribute. |
protected boolean |
allowRepairOfIncorrectLength() |
protected boolean |
allowRepairOfInvalidCharacterReplacement() |
boolean |
areCharactersInValuesValid() |
boolean |
areLengthsOfValuesValid() |
boolean |
areValuesWellFormed() |
protected void |
flushCachedCopies() |
byte[] |
getByteValues()
Get the values of this attribute as a byte array.
|
double[] |
getDoubleValues()
Get the values of this attribute as a double array.
|
float[] |
getFloatValues()
Get the values of this attribute as a float array.
|
int[] |
getIntegerValues()
Get the values of this attribute as an int array.
|
protected char |
getInvalidCharacterReplacement() |
long[] |
getLongValues()
Get the values of this attribute as a long array.
|
abstract int |
getMaximumLengthOfSingleValue() |
String[] |
getOriginalStringValues()
Get the values of this attribute as strings, the way they were originally inserted or read.
|
protected byte |
getPadByte()
Get the appropriate byte for padding a string to an even length.
|
long |
getPaddedVL()
Get the value length of this attribute, accounting for the need for even-length padding.
|
short[] |
getShortValues()
Get the values of this attribute as a short array.
|
SpecificCharacterSet |
getSpecificCharacterSet()
Get the specific character set for this attribute.
|
String[] |
getStringValues(NumberFormat format)
Get the values of this attribute as strings.
|
boolean |
isCharacterInValueValid(int c) |
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.
|
void |
setSpecificCharacterSet(SpecificCharacterSet specificCharacterSet)
Set the specific character set for this attribute.
|
String |
toString(DicomDictionary dictionary)
Dump the contents of the attribute as a human-readable string.
|
protected String |
translateByteArrayToString(byte[] bytes,
int offset,
int length)
Decode a byte array into a string.
|
protected byte[] |
translateStringToByteArray(String string)
Encode a string into a byte array.
|
void |
write(DicomOutputStream o)
Write the entire attribute (including values) to the output stream.
|
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, getLengthOfEncodedValue, 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, getVR, getVRAsString, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValues, setValues, setValues, setValues, setValues, setValues, setValues, toString, writeBaseprotected SpecificCharacterSet specificCharacterSet
protected StringAttribute(AttributeTag t)
Construct an (empty) attribute; called only by concrete sub-classes.
t - the tag of the attributeprotected StringAttribute(AttributeTag t, long vl, DicomInputStream i) throws 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 streamIOException - if an I/O error occursDicomException - if a DICOM parsing error occursprotected StringAttribute(AttributeTag t, Long vl, DicomInputStream i) throws 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 streamIOException - if an I/O error occursDicomException - if a DICOM parsing error occursprotected StringAttribute(AttributeTag t, long vl, DicomInputStream i, SpecificCharacterSet specificCharacterSet) throws 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 textIOException - if an I/O error occursDicomException - if a DICOM parsing error occursprotected StringAttribute(AttributeTag t, Long vl, DicomInputStream i, SpecificCharacterSet specificCharacterSet) throws 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 textIOException - if an I/O error occursDicomException - if a DICOM parsing error occursprotected StringAttribute(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(byte v)
throws DicomException
AttributeaddValue in class Attributev - value to addDicomException - not thrownpublic void addValue(double v)
throws DicomException
AttributeaddValue in class Attributev - value to addDicomException - not thrownpublic void addValue(float v)
throws DicomException
AttributeaddValue in class Attributev - value to addDicomException - not thrownpublic void addValue(int v)
throws DicomException
AttributeaddValue in class Attributev - value to addDicomException - not thrownpublic void addValue(long v)
throws DicomException
AttributeaddValue in class Attributev - value to addDicomException - not thrownpublic void addValue(short v)
throws DicomException
AttributeaddValue in class Attributev - value to addDicomException - not thrownpublic void addValue(String v) throws DicomException
AttributeString value after any existing values of this attribute.addValue in class Attributev - value to addDicomException - if unsupported encodingprotected boolean allowRepairOfIncorrectLength()
protected boolean allowRepairOfInvalidCharacterReplacement()
public boolean areCharactersInValuesValid()
throws DicomException
DicomExceptionpublic boolean areLengthsOfValuesValid()
throws DicomException
DicomExceptionpublic boolean areValuesWellFormed()
throws DicomException
DicomExceptionprotected void flushCachedCopies()
public byte[] getByteValues()
throws DicomException
Get the values of this attribute as a byte array.
Returns the originally read byte values, if read from a stream, otherwise converts the string to bytes and pads them.
getByteValues in class AttributeDicomException - if a DICOM parsing error occurspublic double[] getDoubleValues()
throws DicomException
AttributeGet the values of this attribute as a double array.
getDoubleValues in class AttributeDicomException - not thrownpublic float[] getFloatValues()
throws DicomException
AttributeGet the values of this attribute as a float array.
getFloatValues in class AttributeDicomException - not thrownpublic int[] getIntegerValues()
throws DicomException
AttributeGet the values of this attribute as an int array.
getIntegerValues in class AttributeDicomException - not thrownprotected char getInvalidCharacterReplacement()
public long[] getLongValues()
throws DicomException
AttributeGet the values of this attribute as a long array.
getLongValues in class AttributeDicomException - not thrownpublic abstract int getMaximumLengthOfSingleValue()
public String[] getOriginalStringValues() throws DicomException
Get the values of this attribute as strings, the way they were originally inserted or read.
getOriginalStringValues in class AttributeStringDicomException - not thrownprotected byte getPadByte()
Get the appropriate byte for padding a string to an even length.
public long getPaddedVL()
AttributeGet the value length of this attribute, accounting for the need for even-length padding.
getPaddedVL in class Attributepublic short[] getShortValues()
throws DicomException
AttributeGet the values of this attribute as a short array.
getShortValues in class AttributeDicomException - not thrownpublic SpecificCharacterSet getSpecificCharacterSet()
Get the specific character set for this attribute.
public String[] getStringValues(NumberFormat format) throws DicomException
Get the values of this attribute as strings.
The strings are first cleaned up into a canonical form, to remove leading and trailing padding.
getStringValues in class Attributeformat - the format to use for each numerical or decimal valueStringDicomException - not thrownpublic boolean isCharacterInValueValid(int c)
throws DicomException
DicomExceptionpublic boolean isValid()
throws DicomException
AttributeisValid in class AttributeDicomException - if error in DICOM value extractionpublic void removeValues()
throws DicomException
AttributeRemove any existing values, making the attribute empty (zero length).
removeValues in class AttributeDicomException - not thrownpublic boolean repairValues()
throws DicomException
AttributerepairValues in class AttributeDicomException - if error in DICOM value extractionpublic void setSpecificCharacterSet(SpecificCharacterSet specificCharacterSet)
Set the specific character set for this attribute.
specificCharacterSet - the specific character set, or null if nonepublic String toString(DicomDictionary dictionary)
AttributeDump 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 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(String string) throws UnsupportedEncodingException
Encode a string into a byte array.
string - the string to be encodedUnsupportedEncodingException - if the encoding is not supportedpublic void write(DicomOutputStream o) throws DicomException, IOException
AttributeWrite the entire attribute (including values) to the output stream.
write in class Attributeo - the output streamIOException - if an I/O error occursDicomException - if a DICOM encoding error occurs