Class Attribute

java.lang.Object
com.pixelmed.dicom.Attribute
Direct Known Subclasses:
AttributeTagAttribute, FloatDoubleAttribute, FloatSingleAttribute, OtherAttributeOnDisk, OtherByteAttribute, OtherByteAttributeMultipleCompressedFilesOnDisk, OtherByteAttributeMultipleCompressedFrames, OtherByteAttributeMultipleFilesOnDisk, OtherByteAttributeMultipleFrameArrays, OtherDoubleAttribute, OtherFloatAttribute, OtherFloatAttributeMultipleFilesOnDisk, OtherLongAttribute, OtherVeryLongAttribute, OtherWordAttribute, OtherWordAttributeMultipleFilesOnDisk, OtherWordAttributeMultipleFrameArrays, SequenceAttribute, SignedLongAttribute, SignedShortAttribute, SignedVeryLongAttribute, StringAttribute, TextAttribute, UnknownAttribute, UnsignedLongAttribute, UnsignedShortAttribute, UnsignedVeryLongAttribute

public abstract class Attribute extends Object

The Attribute class is an abstract class that contains the core functionality for storing, accessing and maintaining values of a DICOM Attribute.

Though instances of concrete sub-classes of this abstract class may be created using their constructors, there is also a factory class, AttributeFactory.

See Also:
  • Field Details

    • valueLength

      protected long valueLength
    • valueMultiplicity

      protected int valueMultiplicity
  • Constructor Details

    • Attribute

      protected Attribute(AttributeTag t)

      Construct an (empty) attribute; called only by concrete sub-classes.

      Parameters:
      t - the tag of the attribute
  • Method Details

    • getTag

      public AttributeTag getTag()

      Get the tag of this attribute.

      Returns:
      the tag
    • getGroup

      public int getGroup()

      Get the group of the tag of this attribute.

      Returns:
      the group of the tag
    • getElement

      public int getElement()

      Get the element of the tag of this attribute.

      Returns:
      the element of the tag
    • getVL

      public long getVL()

      Get the value length of this attribute.

      Returns:
      the value length (does not include need for even-length padding, hence may be odd length)
    • getVM

      public int getVM()

      Get the value multiplicity of this attribute.

      Returns:
      the value multiplicity
    • getVR

      public byte[] getVR()

      Get the value representation of this attribute.

      Returns:
      the value representation as a two byte array
    • getVRAsString

      public String getVRAsString()

      Get the value representation of this attribute.

      Returns:
      the value representation as a String
    • getPaddedVL

      public long getPaddedVL()

      Get the value length of this attribute, accounting for the need for even-length padding.

      Returns:
      the value length (padded to an even length)
    • getLengthOfEncodedValue

      public long getLengthOfEncodedValue()

      Get the number of bytes encoded for the value of this attribute.

      Accounts for delimited Sequence and Encapsulated Pixel Data OB attributes.

      Returns:
      number of bytes encoded
    • getOriginalStringValues

      public String[] getOriginalStringValues() throws DicomException

      Get the values of this attribute as strings, the way they were originally inserted or read.

      Returns:
      the values as an array of String
      Throws:
      DicomException - thrown if values are not available (such as not supported for this concrete attribute class)
    • getStringValues

      public String[] getStringValues() throws DicomException

      Get the values of this attribute as strings.

      The strings may have been cleaned up into a canonical form, such as to remove padding.

      Returns:
      the values as an array of String
      Throws:
      DicomException - thrown if values are not available (such as not supported for this concrete attribute class)
    • getStringValues

      public String[] getStringValues(NumberFormat format) throws DicomException

      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.

      Parameters:
      format - the format to use for each numerical or decimal value
      Returns:
      the values as an array of String
      Throws:
      DicomException - thrown if values are not available (such as not supported for this concrete attribute class)
    • getByteValues

      public byte[] getByteValues() throws DicomException

      Get the values of this attribute as a byte array, if the values are byte order insensitive.

      Returns:
      the values as an array of bytes
      Throws:
      DicomException - thrown if values are not available (such as not supported for this concrete attribute class)
    • getByteValues

      public byte[] getByteValues(boolean big) throws DicomException

      Get the values of this attribute as a byte array, accounting for byte ordering of values that are larger than one byte.

      Parameters:
      big - whether or not to intepret the values larger than bytes as big endian or not
      Returns:
      the values as an array of bytes
      Throws:
      DicomException - thrown if values are not available (such as not supported for this concrete attribute class)
    • getShortValues

      public short[] getShortValues() throws DicomException

      Get the values of this attribute as a short array.

      Returns:
      the values as an array of short
      Throws:
      DicomException - thrown if values are not available (such as not supported for this concrete attribute class)
    • getIntegerValues

      public int[] getIntegerValues() throws DicomException

      Get the values of this attribute as an int array.

      Returns:
      the values as an array of int
      Throws:
      DicomException - thrown if values are not available (such as not supported for this concrete attribute class)
    • getLongValues

      public long[] getLongValues() throws DicomException

      Get the values of this attribute as a long array.

      Returns:
      the values as an array of long
      Throws:
      DicomException - thrown if values are not available (such as not supported for this concrete attribute class)
    • getFloatValues

      public float[] getFloatValues() throws DicomException

      Get the values of this attribute as a float array.

      Returns:
      the values as an array of float
      Throws:
      DicomException - thrown if values are not available (such as not supported for this concrete attribute class)
    • getDoubleValues

      public double[] getDoubleValues() throws DicomException

      Get the values of this attribute as a double array.

      Returns:
      the values as an array of double
      Throws:
      DicomException - thrown if values are not available (such as not supported for this concrete attribute class)
    • addValue

      public void addValue(String v) throws DicomException
      Add a(nother) String value after any existing values of this attribute.
      Parameters:
      v - value to add
      Throws:
      DicomException - thrown if value of this type is not valid for this concrete attribute class
    • setValue

      public void setValue(String v) throws DicomException
      Set a single String value after any existing values of this attribute.
      Parameters:
      v - value to set
      Throws:
      DicomException - thrown if value of this type is not valid for this concrete attribute class
    • addValue

      public void addValue(byte v) throws DicomException
      Add a(nother) byte value after any existing values of this attribute.
      Parameters:
      v - value to add
      Throws:
      DicomException - thrown if value of this type is not valid for this concrete attribute class
    • setValue

      public void setValue(byte v) throws DicomException
      Set a single byte value after any existing values of this attribute.
      Parameters:
      v - value to set
      Throws:
      DicomException - thrown if value of this type is not valid for this concrete attribute class
    • addValue

      public void addValue(short v) throws DicomException
      Add a(nother) short value after any existing values of this attribute.
      Parameters:
      v - value to add
      Throws:
      DicomException - thrown if value of this type is not valid for this concrete attribute class
    • setValue

      public void setValue(short v) throws DicomException
      Set a single short value after any existing values of this attribute.
      Parameters:
      v - value to set
      Throws:
      DicomException - thrown if value of this type is not valid for this concrete attribute class
    • addValue

      public void addValue(int v) throws DicomException
      Add a(nother) int value after any existing values of this attribute.
      Parameters:
      v - value to add
      Throws:
      DicomException - thrown if value of this type is not valid for this concrete attribute class
    • setValue

      public void setValue(int v) throws DicomException
      Set a single int value after any existing values of this attribute.
      Parameters:
      v - value to set
      Throws:
      DicomException - thrown if value of this type is not valid for this concrete attribute class
    • addValue

      public void addValue(long v) throws DicomException
      Add a(nother) long value after any existing values of this attribute.
      Parameters:
      v - value to add
      Throws:
      DicomException - thrown if value of this type is not valid for this concrete attribute class
    • setValue

      public void setValue(long v) throws DicomException
      Set a single long value after any existing values of this attribute.
      Parameters:
      v - value to set
      Throws:
      DicomException - thrown if value of this type is not valid for this concrete attribute class
    • addValue

      public void addValue(float v) throws DicomException
      Add a(nother) float value after any existing values of this attribute.
      Parameters:
      v - value to add
      Throws:
      DicomException - thrown if value of this type is not valid for this concrete attribute class
    • setValue

      public void setValue(float v) throws DicomException
      Set a single float value after any existing values of this attribute.
      Parameters:
      v - value to set
      Throws:
      DicomException - thrown if value of this type is not valid for this concrete attribute class
    • addValue

      public void addValue(double v) throws DicomException
      Add a(nother) double value after any existing values of this attribute.
      Parameters:
      v - value to add
      Throws:
      DicomException - thrown if value of this type is not valid for this concrete attribute class
    • setValue

      public void setValue(double v) throws DicomException
      Set a single double value after any existing values of this attribute.
      Parameters:
      v - value to set
      Throws:
      DicomException - thrown if value of this type is not valid for this concrete attribute class
    • setValues

      public void setValues(byte[] v) throws DicomException
      Replace any existing values with the supplied array of byte.
      Parameters:
      v - the array of new values
      Throws:
      DicomException - thrown if values of this type are not valid for this concrete attribute class
    • setValues

      public void setValues(byte[] v, boolean big) throws DicomException
      Replace any existing values with the supplied array of byte, accounting for byte ordering of values that are larger than one byte.
      Parameters:
      v - the array of new values
      big - whether or not to intepret the values larger than bytes as big endian or not
      Throws:
      DicomException - thrown if values of this type are not valid for this concrete attribute class
    • setValues

      public void setValues(short[] v) throws DicomException
      Replace any existing values with the supplied array of short.
      Parameters:
      v - the array of new values
      Throws:
      DicomException - thrown if values of this type are not valid for this concrete attribute class
    • setValues

      public void setValues(int[] v) throws DicomException
      Replace any existing values with the supplied array of int.
      Parameters:
      v - the array of new values
      Throws:
      DicomException - thrown if values of this type are not valid for this concrete attribute class
    • setValues

      public void setValues(long[] v) throws DicomException
      Replace any existing values with the supplied array of long.
      Parameters:
      v - the array of new values
      Throws:
      DicomException - thrown if values of this type are not valid for this concrete attribute class
    • setValues

      public void setValues(float[] v) throws DicomException
      Replace any existing values with the supplied array of float.
      Parameters:
      v - the array of new values
      Throws:
      DicomException - thrown if values of this type are not valid for this concrete attribute class
    • setValues

      public void setValues(double[] v) throws DicomException
      Replace any existing values with the supplied array of double.
      Parameters:
      v - the array of new values
      Throws:
      DicomException - thrown if values of this type are not valid for this concrete attribute class
    • removeValues

      public abstract void removeValues() throws DicomException

      Remove any existing values, making the attribute empty (zero length).

      Throws:
      DicomException - thrown if not supported for concrete attribute class
    • writeBase

      protected void writeBase(DicomOutputStream o) throws DicomException, IOException

      Write the common preamble of an attribute to the output stream.

      Writes the tag, VR (if explicit in the output stream) and the value length in the appropriate form.

      Implements the CP 1066 proposal to handle values too long to fit in Explicit VR by writing a UN rather than the actual VR.

      Called by a concrete base class prior to writing the values themselves.

      Parameters:
      o - the output stream
      Throws:
      DicomException - if the VL is too long to be written in the Transfer Syntax of the DicomOutputStream (Explicit VR)
      IOException - if an I/O error occurs
    • write

      public abstract void write(DicomOutputStream o) throws DicomException, IOException

      Write the entire attribute (including values) to the output stream.

      Parameters:
      o - the output stream
      Throws:
      IOException - if an I/O error occurs
      DicomException - if error in DICOM encoding
    • isValid

      public boolean isValid() throws DicomException
      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?
      Returns:
      true if valid, false if invalid or validation not supported for the attribute type
      Throws:
      DicomException - if error in DICOM value extraction
    • repairValues

      public boolean repairValues() throws DicomException
      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.
      Returns:
      true if successfully repaired or was already valid
      Throws:
      DicomException - if error in DICOM value extraction
    • toString

      public String toString(DicomDictionary dictionary)

      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>
       
      Parameters:
      dictionary - the dictionary to use to look up the name
      Returns:
      a single String value
    • toString

      public String toString()

      Dump the contents of the attribute as a human-readable string.

      No new line is appended.

      The result is of the form:

       (0xgggg,0xeeee) VR=<XX> VL=<0xnnnn> <...>
       

      For example:

       (0x0018,0x0020) VR=<CS> VL=<0x2> <GR>
       
      Overrides:
      toString in class Object
      Returns:
      a single String value
    • getSingleStringValueOrDefault

      public String getSingleStringValueOrDefault(String dflt)

      Get a single string value for the attribute.

      If there is more than one string value, only the first is returned.

      If there is no string value, the supplied default is returned.

      If there is an exception trying to fetch the value, the supplied default is returned.

      A canonicalized (unpadded) form is returned, not the original string.

      Parameters:
      dflt - what to return if there is no (valid) string value
      Returns:
      a single String value
    • getSingleStringValueOrDefault

      public String getSingleStringValueOrDefault(String dflt, NumberFormat format)

      Get a single string value for the attribute.

      If there is more than one string value, only the first is returned.

      If there is no string value, the supplied default is returned.

      If there is an exception trying to fetch the value, the supplied default is returned.

      A canonicalized (unpadded) form is returned, not the original string.

      Parameters:
      dflt - what to return if there is no (valid) string value
      format - the format to use for each numerical or decimal value (null if none)
      Returns:
      a single String value
    • getSingleStringValueOrEmptyString

      public String getSingleStringValueOrEmptyString()

      Get a single string value for the attribute.

      If there is more than one string value, only the first is returned.

      If there is no string value, an empty string is returned.

      If there is an exception trying to fetch the value, an empty string is returned.

      A canonicalized (unpadded) form is returned, not the original string.

      Returns:
      a single String value
    • getSingleStringValueOrEmptyString

      public String getSingleStringValueOrEmptyString(NumberFormat format)

      Get a single string value for the attribute.

      If there is more than one string value, only the first is returned.

      If there is no string value, an empty string is returned.

      If there is an exception trying to fetch the value, an empty string is returned.

      A canonicalized (unpadded) form is returned, not the original string.

      Parameters:
      format - the format to use for each numerical or decimal value
      Returns:
      a single String value
    • getSingleStringValueOrNull

      public String getSingleStringValueOrNull()

      Get a single string value for the attribute.

      If there is more than one string value, only the first is returned.

      If there is no string value, null is returned.

      If there is an exception trying to fetch the value, null is returned.

      A canonicalized (unpadded) form is returned, not the original string.

      Returns:
      a single String value
    • getSingleStringValueOrNull

      public String getSingleStringValueOrNull(NumberFormat format)

      Get a single string value for the attribute.

      If there is more than one string value, only the first is returned.

      If there is no string value, null is returned.

      If there is an exception trying to fetch the value, null is returned.

      A canonicalized (unpadded) form is returned, not the original string.

      Parameters:
      format - the format to use for each numerical or decimal value
      Returns:
      a single String value
    • getDelimitedStringValuesOrDefault

      public String getDelimitedStringValuesOrDefault(String dflt)

      Get all the string values for the attribute, separated by the appropriate delimiter.

      If there is no string value, the supplied default is returned.

      If there is an exception trying to fetch the values, the supplied default is returned.

      A canonicalized (unpadded) form is returned, not the original string.

      Sequences and nested sequence item lists are recursively included with appropriate delimiters.

      Parameters:
      dflt - what to return if there are no (valid) string values
      Returns:
      the values as a delimited String
    • getDelimitedStringValuesOrDefault

      public String getDelimitedStringValuesOrDefault(String dflt, NumberFormat format)

      Get all the string values for the attribute, separated by the appropriate delimiter.

      If there is no string value, the supplied default is returned.

      If there is an exception trying to fetch the values, the supplied default is returned.

      A canonicalized (unpadded) form is returned, not the original string.

      Sequences and nested sequence item lists are recursively included with appropriate delimiters.

      Parameters:
      dflt - what to return if there are no (valid) string values
      format - the format to use for each numerical or decimal value (null if none)
      Returns:
      the values as a delimited String
    • getDelimitedStringValuesOrEmptyString

      public String getDelimitedStringValuesOrEmptyString()

      Get all the string values for the attribute, separated by the appropriate delimiter.

      If there is no string value, an empty string is returned.

      If there is an exception trying to fetch the values, an empty string is returned.

      A canonicalized (unpadded) form is returned, not the original string.

      Sequences and nested sequence item lists are recursively included with appropriate delimiters.

      Returns:
      the values as a delimited String
    • getDelimitedStringValuesOrEmptyString

      public String getDelimitedStringValuesOrEmptyString(NumberFormat format)

      Get all the string values for the attribute, separated by the appropriate delimiter.

      If there is no string value, an empty string is returned.

      If there is an exception trying to fetch the values, an empty string is returned.

      A canonicalized (unpadded) form is returned, not the original string.

      Sequences and nested sequence item lists are recursively included with appropriate delimiters.

      Parameters:
      format - the format to use for each numerical or decimal value
      Returns:
      the values as a delimited String
    • getDelimitedStringValuesOrNull

      public String getDelimitedStringValuesOrNull()

      Get all the string values for the attribute, separated by the appropriate delimiter.

      If there is no string value, null is returned.

      If there is an exception trying to fetch the values, null is returned.

      A canonicalized (unpadded) form is returned, not the original string.

      Sequences and nested sequence item lists are recursively included with appropriate delimiters.

      Returns:
      the values as a delimited String
    • getDelimitedStringValuesOrNull

      public String getDelimitedStringValuesOrNull(NumberFormat format)

      Get all the string values for the attribute, separated by the appropriate delimiter.

      If there is no string value, null is returned.

      If there is an exception trying to fetch the values, null is returned.

      A canonicalized (unpadded) form is returned, not the original string.

      Sequences and nested sequence item lists are recursively included with appropriate delimiters.

      Parameters:
      format - the format to use for each numerical or decimal value
      Returns:
      the values as a delimited String
    • getSingleIntegerValueOrDefault

      public int getSingleIntegerValueOrDefault(int dflt)

      Get a single int value for the attribute.

      If there is more than one value, only the first is returned.

      If there is no value, the supplied default is returned.

      If there is an exception trying to fetch the value, the supplied default is returned.

      Parameters:
      dflt - what to return if there is no (valid) value
      Returns:
      a single int value
    • getSingleDoubleValueOrDefault

      public double getSingleDoubleValueOrDefault(double dflt)

      Get a single double value for the attribute.

      If there is more than one value, only the first is returned.

      If there is no value, the supplied default is returned.

      If there is an exception trying to fetch the value, the supplied default is returned.

      Parameters:
      dflt - what to return if there is no (valid) value
      Returns:
      a single double value
    • getSingleFloatValueOrDefault

      public float getSingleFloatValueOrDefault(float dflt)

      Get a single float value for the attribute.

      If there is more than one value, only the first is returned.

      If there is no value, the supplied default is returned.

      If there is an exception trying to fetch the value, the supplied default is returned.

      Parameters:
      dflt - what to return if there is no (valid) value
      Returns:
      a single float value
    • getSingleLongValueOrDefault

      public long getSingleLongValueOrDefault(long dflt)

      Get a single long value for the attribute.

      If there is more than one value, only the first is returned.

      If there is no value, the supplied default is returned.

      If there is an exception trying to fetch the value, the supplied default is returned.

      Parameters:
      dflt - what to return if there is no (valid) value
      Returns:
      a single long value
    • getSingleStringValueOrDefault

      public static String getSingleStringValueOrDefault(Attribute a, String dflt)

      Get a single string value for a supplied attribute that may be null.

      If there is no such attribute, the supplied default is returned.

      If there is more than one string value, only the first is returned.

      If there is no string value, the supplied default is returned.

      If there is an exception trying to fetch the value, the supplied default is returned.

      A canonicalized (unpadded) form is returned, not the original string.

      Parameters:
      a - the attribute, which may be null
      dflt - what to return if there is no (valid) string value
      Returns:
      a single String value
    • getSingleStringValueOrDefault

      public static String getSingleStringValueOrDefault(Attribute a, String dflt, NumberFormat format)

      Get a single string value for a supplied attribute that may be null.

      If there is no such attribute, the supplied default is returned.

      If there is more than one string value, only the first is returned.

      If there is no string value, the supplied default is returned.

      If there is an exception trying to fetch the value, the supplied default is returned.

      A canonicalized (unpadded) form is returned, not the original string.

      Parameters:
      a - the attribute, which may be null
      dflt - what to return if there is no (valid) string value
      format - the format to use for each numerical or decimal value
      Returns:
      a single String value
    • getSingleStringValueOrEmptyString

      public static String getSingleStringValueOrEmptyString(Attribute a)

      Get a single string value for a supplied attribute that may be null.

      If there is no such attribute, an empty string is returned.

      If there is more than one string value, only the first is returned.

      If there is no string value, an empty string is returned.

      If there is an exception trying to fetch the value, an empty string is returned.

      A canonicalized (unpadded) form is returned, not the original string.

      Parameters:
      a - the attribute, which may be null
      Returns:
      a single String value
    • getSingleStringValueOrEmptyString

      public static String getSingleStringValueOrEmptyString(Attribute a, NumberFormat format)

      Get a single string value for a supplied attribute that may be null.

      If there is no such attribute, an empty string is returned.

      If there is more than one string value, only the first is returned.

      If there is no string value, an empty string is returned.

      If there is an exception trying to fetch the value, an empty string is returned.

      A canonicalized (unpadded) form is returned, not the original string.

      Parameters:
      a - the attribute, which may be null
      format - the format to use for each numerical or decimal value
      Returns:
      a single String value
    • getSingleStringValueOrNull

      public static String getSingleStringValueOrNull(Attribute a)

      Get a single string value for a supplied attribute that may be null.

      If there is no such attribute, null is returned.

      If there is more than one string value, only the first is returned.

      If there is no string value, null is returned.

      If there is an exception trying to fetch the value, null is returned.

      A canonicalized (unpadded) form is returned, not the original string.

      Parameters:
      a - the attribute, which may be null
      Returns:
      a single String value
    • getSingleStringValueOrNull

      public static String getSingleStringValueOrNull(Attribute a, NumberFormat format)

      Get a single string value for a supplied attribute that may be null.

      If there is no such attribute, null is returned.

      If there is more than one string value, only the first is returned.

      If there is no string value, null is returned.

      If there is an exception trying to fetch the value, null is returned.

      A canonicalized (unpadded) form is returned, not the original string.

      Parameters:
      a - the attribute, which may be null
      format - the format to use for each numerical or decimal value
      Returns:
      a single String value
    • getDelimitedStringValuesOrDefault

      public static String getDelimitedStringValuesOrDefault(Attribute a, String dflt)

      Get all the string values for a supplied attribute that may be null, separated by the appropriate delimiter.

      If there is no such attribute, the supplied default is returned.

      If there is no string value, the supplied default is returned.

      If there is an exception trying to fetch the values, the supplied default is returned.

      A canonicalized (unpadded) form is returned, not the original string.

      Sequences and nested sequence item lists are recursively included with appropriate delimiters.

      Parameters:
      a - the attribute, which may be null
      dflt - what to return if there are no (valid) string values
      Returns:
      the values as a delimited String
    • getDelimitedStringValuesOrDefault

      public static String getDelimitedStringValuesOrDefault(Attribute a, String dflt, NumberFormat format)

      Get all the string values for a supplied attribute that may be null, separated by the appropriate delimiter.

      If there is no such attribute, the supplied default is returned.

      If there is no string value, the supplied default is returned.

      If there is an exception trying to fetch the values, the supplied default is returned.

      A canonicalized (unpadded) form is returned, not the original string.

      Parameters:
      a - the attribute, which may be null
      dflt - what to return if there are no (valid) string values
      format - the format to use for each numerical or decimal value
      Returns:
      the values as a delimited String
    • getDelimitedStringValuesOrEmptyString

      public static String getDelimitedStringValuesOrEmptyString(Attribute a)

      Get all the string values for a supplied attribute that may be null, separated by the appropriate delimiter.

      If there is no such attribute, an empty string is returned.

      If there is no string value, an empty string is returned.

      If there is an exception trying to fetch the values, an empty string is returned.

      A canonicalized (unpadded) form is returned, not the original string.

      Parameters:
      a - the attribute, which may be null
      Returns:
      the values as a delimited String
    • getDelimitedStringValuesOrEmptyString

      public static String getDelimitedStringValuesOrEmptyString(Attribute a, NumberFormat format)

      Get all the string values for a supplied attribute that may be null, separated by the appropriate delimiter.

      If there is no such attribute, an empty string is returned.

      If there is no string value, an empty string is returned.

      If there is an exception trying to fetch the values, an empty string is returned.

      A canonicalized (unpadded) form is returned, not the original string.

      Parameters:
      a - the attribute, which may be null
      format - the format to use for each numerical or decimal value
      Returns:
      the values as a delimited String
    • getDelimitedStringValuesOrNull

      public static String getDelimitedStringValuesOrNull(Attribute a)

      Get all the string values for a supplied attribute that may be null, separated by the appropriate delimiter.

      If there is no such attribute, null is returned.

      If there is no string value, null is returned.

      If there is an exception trying to fetch the values, null is returned.

      A canonicalized (unpadded) form is returned, not the original string.

      Parameters:
      a - the attribute, which may be null
      Returns:
      the values as a delimited String
    • getDelimitedStringValuesOrNull

      public static String getDelimitedStringValuesOrNull(Attribute a, NumberFormat format)

      Get all the string values for a supplied attribute that may be null, separated by the appropriate delimiter.

      If there is no such attribute, null is returned.

      If there is no string value, null is returned.

      If there is an exception trying to fetch the values, null is returned.

      A canonicalized (unpadded) form is returned, not the original string.

      Parameters:
      a - the attribute, which may be null
      format - the format to use for each numerical or decimal value
      Returns:
      the values as a delimited String
    • getStringValues

      public static String[] getStringValues(Attribute a)

      Get the values of a supplied attribute that may be null, as an array of strings.

      If there is no such attribute, null is returned.

      If there is an exception trying to fetch the values, null is returned.

      The strings may have been cleaned up into a canonical form, such as to remove padding.

      Parameters:
      a - the attribute, which may be null
      Returns:
      the values as an array of String
    • getStringValues

      public static String[] getStringValues(Attribute a, NumberFormat format)

      Get the values of a supplied attribute that may be null, as an array of strings.

      If there is no such attribute, null is returned.

      If there is an exception trying to fetch the values, null is returned.

      The strings may have been cleaned up into a canonical form, such as to remove padding.

      Parameters:
      a - the attribute, which may be null
      format - the format to use for each numerical or decimal value
      Returns:
      the values as an array of String
    • getSingleIntegerValueOrDefault

      public static int getSingleIntegerValueOrDefault(Attribute a, int dflt)

      Get a single int value of a supplied attribute that may be null.

      If there is more than one value, only the first is returned.

      If there is no value, the supplied default is returned.

      If there is an exception trying to fetch the value, the supplied default is returned.

      Parameters:
      a - the attribute, which may be null
      dflt - what to return if there is no (valid) value
      Returns:
      a single int value
    • getIntegerValues

      public static int[] getIntegerValues(Attribute a)

      Get the values of a supplied attribute that may be null, as an array of int.

      If there is no such attribute, null is returned.

      If there is an exception trying to fetch the values, null is returned.

      Parameters:
      a - the attribute, which may be null
      Returns:
      the values as an array of int
    • getSingleLongValueOrDefault

      public static long getSingleLongValueOrDefault(Attribute a, long dflt)

      Get a single long value of a supplied attribute that may be null.

      If there is more than one value, only the first is returned.

      If there is no value, the supplied default is returned.

      If there is an exception trying to fetch the value, the supplied default is returned.

      Parameters:
      a - the attribute, which may be null
      dflt - what to return if there is no (valid) value
      Returns:
      a single long value
    • getLongValues

      public static long[] getLongValues(Attribute a)

      Get the values of a supplied attribute that may be null, as an array of long.

      If there is no such attribute, null is returned.

      If there is an exception trying to fetch the values, null is returned.

      Parameters:
      a - the attribute, which may be null
      Returns:
      the values as an array of long
    • getSingleDoubleValueOrDefault

      public static double getSingleDoubleValueOrDefault(Attribute a, double dflt)

      Get a single double value of a supplied attribute that may be null.

      If there is more than one value, only the first is returned.

      If there is no value, the supplied default is returned.

      If there is an exception trying to fetch the value, the supplied default is returned.

      Parameters:
      a - the attribute, which may be null
      dflt - what to return if there is no (valid) value
      Returns:
      a single double value
    • getSingleFloatValueOrDefault

      public static float getSingleFloatValueOrDefault(Attribute a, float dflt)

      Get a single float value of a supplied attribute that may be null.

      If there is more than one value, only the first is returned.

      If there is no value, the supplied default is returned.

      If there is an exception trying to fetch the value, the supplied default is returned.

      Parameters:
      a - the attribute, which may be null
      dflt - what to return if there is no (valid) value
      Returns:
      a single float value
    • getDoubleValues

      public static double[] getDoubleValues(Attribute a)

      Get the values of a supplied attribute that may be null, as an array of double.

      If there is no such attribute, null is returned.

      If there is an exception trying to fetch the values, null is returned.

      Parameters:
      a - the attribute, which may be null
      Returns:
      the values as an array of double
    • getFloatValues

      public static float[] getFloatValues(Attribute a)

      Get the values of a supplied attribute that may be null, as an array of float.

      If there is no such attribute, null is returned.

      If there is an exception trying to fetch the values, null is returned.

      Parameters:
      a - the attribute, which may be null
      Returns:
      the values as an array of double
    • getSingleStringValueOrDefault

      public static String getSingleStringValueOrDefault(AttributeList list, AttributeTag tag, String dflt)

      Get a single string value for a named attribute in an attribute list.

      If there is no such attribute, the supplied default is returned.

      If there is more than one string value, only the first is returned.

      If there is no string value, the supplied default is returned.

      If there is an exception trying to fetch the value, the supplied default is returned.

      A canonicalized (unpadded) form is returned, not the original string.

      Parameters:
      list - the list of attributes in which to look for the attribute
      tag - the tag of the attribute to find
      dflt - what to return if there is no (valid) string value
      Returns:
      a single String value
    • getSingleStringValueOrDefault

      public static String getSingleStringValueOrDefault(AttributeList list, AttributeTag tag, String dflt, NumberFormat format)

      Get a single string value for a named attribute in an attribute list.

      If there is no such attribute, the supplied default is returned.

      If there is more than one string value, only the first is returned.

      If there is no string value, the supplied default is returned.

      If there is an exception trying to fetch the value, the supplied default is returned.

      A canonicalized (unpadded) form is returned, not the original string.

      Parameters:
      list - the list of attributes in which to look for the attribute
      tag - the tag of the attribute to find
      dflt - what to return if there is no (valid) string value
      format - the format to use for each numerical or decimal value
      Returns:
      a single String value
    • getSingleStringValueOrEmptyString

      public static String getSingleStringValueOrEmptyString(AttributeList list, AttributeTag tag)

      Get a single string value for a named attribute in an attribute list.

      If there is no such attribute, an empty string is returned.

      If there is more than one string value, only the first is returned.

      If there is no string value, an empty string is returned.

      If there is an exception trying to fetch the value, an empty string is returned.

      A canonicalized (unpadded) form is returned, not the original string.

      Parameters:
      list - the list of attributes in which to look for the attribute
      tag - the tag of the attribute to find
      Returns:
      a single String value
    • getSingleStringValueOrEmptyString

      public static String getSingleStringValueOrEmptyString(AttributeList list, AttributeTag tag, NumberFormat format)

      Get a single string value for a named attribute in an attribute list.

      If there is no such attribute, an empty string is returned.

      If there is more than one string value, only the first is returned.

      If there is no string value, an empty string is returned.

      If there is an exception trying to fetch the value, an empty string is returned.

      A canonicalized (unpadded) form is returned, not the original string.

      Parameters:
      list - the list of attributes in which to look for the attribute
      tag - the tag of the attribute to find
      format - the format to use for each numerical or decimal value
      Returns:
      a single String value
    • getSingleStringValueOrNull

      public static String getSingleStringValueOrNull(AttributeList list, AttributeTag tag)

      Get a single string value for a named attribute in an attribute list.

      If there is no such attribute, null is returned.

      If there is more than one string value, only the first is returned.

      If there is no string value, null is returned.

      If there is an exception trying to fetch the value, null is returned.

      A canonicalized (unpadded) form is returned, not the original string.

      Parameters:
      list - the list of attributes in which to look for the attribute
      tag - the tag of the attribute to find
      Returns:
      a single String value
    • getSingleStringValueOrNull

      public static String getSingleStringValueOrNull(AttributeList list, AttributeTag tag, NumberFormat format)

      Get a single string value for a named attribute in an attribute list.

      If there is no such attribute, null is returned.

      If there is more than one string value, only the first is returned.

      If there is no string value, null is returned.

      If there is an exception trying to fetch the value, null is returned.

      A canonicalized (unpadded) form is returned, not the original string.

      Parameters:
      list - the list of attributes in which to look for the attribute
      tag - the tag of the attribute to find
      format - the format to use for each numerical or decimal value
      Returns:
      a single String value
    • getDelimitedStringValuesOrDefault

      public static String getDelimitedStringValuesOrDefault(AttributeList list, AttributeTag tag, String dflt)

      Get all the string values for a named attribute in an attribute list, separated by the appropriate delimiter.

      If there is no such attribute, the supplied default is returned.

      If there is no string value, the supplied default is returned.

      If there is an exception trying to fetch the values, the supplied default is returned.

      A canonicalized (unpadded) form is returned, not the original string.

      Parameters:
      list - the list of attributes in which to look for the attribute
      tag - the tag of the attribute to find
      dflt - what to return if there are no (valid) string values
      Returns:
      the values as a delimited String
    • getDelimitedStringValuesOrDefault

      public static String getDelimitedStringValuesOrDefault(AttributeList list, AttributeTag tag, String dflt, NumberFormat format)

      Get all the string values for a named attribute in an attribute list, separated by the appropriate delimiter.

      If there is no such attribute, the supplied default is returned.

      If there is no string value, the supplied default is returned.

      If there is an exception trying to fetch the values, the supplied default is returned.

      A canonicalized (unpadded) form is returned, not the original string.

      Parameters:
      list - the list of attributes in which to look for the attribute
      tag - the tag of the attribute to find
      dflt - what to return if there are no (valid) string values
      format - the format to use for each numerical or decimal value
      Returns:
      the values as a delimited String
    • getDelimitedStringValuesOrEmptyString

      public static String getDelimitedStringValuesOrEmptyString(AttributeList list, AttributeTag tag)

      Get all the string values for a named attribute in an attribute list, separated by the appropriate delimiter.

      If there is no such attribute, an empty string is returned.

      If there is no string value, an empty string is returned.

      If there is an exception trying to fetch the values, an empty string is returned.

      A canonicalized (unpadded) form is returned, not the original string.

      Parameters:
      list - the list of attributes in which to look for the attribute
      tag - the tag of the attribute to find
      Returns:
      the values as a delimited String
    • getDelimitedStringValuesOrEmptyString

      public static String getDelimitedStringValuesOrEmptyString(AttributeList list, AttributeTag tag, NumberFormat format)

      Get all the string values for a named attribute in an attribute list, separated by the appropriate delimiter.

      If there is no such attribute, an empty string is returned.

      If there is no string value, an empty string is returned.

      If there is an exception trying to fetch the values, an empty string is returned.

      A canonicalized (unpadded) form is returned, not the original string.

      Parameters:
      list - the list of attributes in which to look for the attribute
      tag - the tag of the attribute to find
      format - the format to use for each numerical or decimal value
      Returns:
      the values as a delimited String
    • getDelimitedStringValuesOrNull

      public static String getDelimitedStringValuesOrNull(AttributeList list, AttributeTag tag)

      Get all the string values for a named attribute in an attribute list, separated by the appropriate delimiter.

      If there is no such attribute, null is returned.

      If there is no string value, null is returned.

      If there is an exception trying to fetch the values, null is returned.

      A canonicalized (unpadded) form is returned, not the original string.

      Parameters:
      list - the list of attributes in which to look for the attribute
      tag - the tag of the attribute to find
      Returns:
      the values as a delimited String
    • getDelimitedStringValuesOrNull

      public static String getDelimitedStringValuesOrNull(AttributeList list, AttributeTag tag, NumberFormat format)

      Get all the string values for a named attribute in an attribute list, separated by the appropriate delimiter.

      If there is no such attribute, null is returned.

      If there is no string value, null is returned.

      If there is an exception trying to fetch the values, null is returned.

      A canonicalized (unpadded) form is returned, not the original string.

      Parameters:
      list - the list of attributes in which to look for the attribute
      tag - the tag of the attribute to find
      format - the format to use for each numerical or decimal value
      Returns:
      the values as a delimited String
    • getStringValues

      public static String[] getStringValues(AttributeList list, AttributeTag tag)

      Get the values of a named attribute in an attribute list, as an array of strings.

      If there is no such attribute, null is returned.

      If there is an exception trying to fetch the values, null is returned.

      The strings may have been cleaned up into a canonical form, such as to remove padding.

      Parameters:
      list - the list of attributes in which to look for the attribute
      tag - the tag of the attribute to find
      Returns:
      the values as an array of String
    • getStringValues

      public static String[] getStringValues(AttributeList list, AttributeTag tag, NumberFormat format)

      Get the values of a named attribute in an attribute list, as an array of strings.

      If there is no such attribute, null is returned.

      If there is an exception trying to fetch the values, null is returned.

      The strings may have been cleaned up into a canonical form, such as to remove padding.

      Parameters:
      list - the list of attributes in which to look for the attribute
      tag - the tag of the attribute to find
      format - the format to use for each numerical or decimal value
      Returns:
      the values as an array of String
    • getSingleIntegerValueOrDefault

      public static int getSingleIntegerValueOrDefault(AttributeList list, AttributeTag tag, int dflt)

      Get a single int value of a named attribute in an attribute list.

      If there is more than one value, only the first is returned.

      If there is no value, the supplied default is returned.

      If there is an exception trying to fetch the value, the supplied default is returned.

      Parameters:
      list - the list of attributes in which to look for the attribute
      tag - the tag of the attribute to find
      dflt - what to return if there is no (valid) value
      Returns:
      a single int value
    • getIntegerValues

      public static int[] getIntegerValues(AttributeList list, AttributeTag tag)

      Get the values of a named attribute in an attribute list, as an array of int.

      If there is no such attribute, null is returned.

      If there is an exception trying to fetch the values, null is returned.

      Parameters:
      list - the list of attributes in which to look for the attribute
      tag - the tag of the attribute to find
      Returns:
      the values as an array of int
    • getSingleLongValueOrDefault

      public static long getSingleLongValueOrDefault(AttributeList list, AttributeTag tag, long dflt)

      Get a single long value of a named attribute in an attribute list.

      If there is more than one value, only the first is returned.

      If there is no value, the supplied default is returned.

      If there is an exception trying to fetch the value, the supplied default is returned.

      Parameters:
      list - the list of attributes in which to look for the attribute
      tag - the tag of the attribute to find
      dflt - what to return if there is no (valid) value
      Returns:
      a single long value
    • getLongValues

      public static long[] getLongValues(AttributeList list, AttributeTag tag)

      Get the values of a named attribute in an attribute list, as an array of long.

      If there is no such attribute, null is returned.

      If there is an exception trying to fetch the values, null is returned.

      Parameters:
      list - the list of attributes in which to look for the attribute
      tag - the tag of the attribute to find
      Returns:
      the values as an array of long
    • getSingleDoubleValueOrDefault

      public static double getSingleDoubleValueOrDefault(AttributeList list, AttributeTag tag, double dflt)

      Get a single double value of a named attribute in an attribute list.

      If there is more than one value, only the first is returned.

      If there is no value, the supplied default is returned.

      If there is an exception trying to fetch the value, the supplied default is returned.

      Parameters:
      list - the list of attributes in which to look for the attribute
      tag - the tag of the attribute to find
      dflt - what to return if there is no (valid) value
      Returns:
      a single double value
    • getSingleFloatValueOrDefault

      public static float getSingleFloatValueOrDefault(AttributeList list, AttributeTag tag, float dflt)

      Get a single float value of a named attribute in an attribute list.

      If there is more than one value, only the first is returned.

      If there is no value, the supplied default is returned.

      If there is an exception trying to fetch the value, the supplied default is returned.

      Parameters:
      list - the list of attributes in which to look for the attribute
      tag - the tag of the attribute to find
      dflt - what to return if there is no (valid) value
      Returns:
      a single float value
    • getDoubleValues

      public static double[] getDoubleValues(AttributeList list, AttributeTag tag)

      Get the values of a named attribute in an attribute list, as an array of double.

      If there is no such attribute, null is returned.

      If there is an exception trying to fetch the values, null is returned.

      Parameters:
      list - the list of attributes in which to look for the attribute
      tag - the tag of the attribute to find
      Returns:
      the values as an array of double
    • getFloatValues

      public static float[] getFloatValues(AttributeList list, AttributeTag tag)

      Get the values of a named attribute in an attribute list, as an array of float.

      If there is no such attribute, null is returned.

      If there is an exception trying to fetch the values, null is returned.

      Parameters:
      list - the list of attributes in which to look for the attribute
      tag - the tag of the attribute to find
      Returns:
      the values as an array of float