Class XMPArray

All Implemented Interfaces:
XMLizable

public class XMPArray extends XMPComplexValue
Represents an XMP array as defined by the XMP specification.
  • Constructor Details

    • XMPArray

      public XMPArray(XMPArrayType type)
      Main constructor
      Parameters:
      type - the intended type of array
  • Method Details

    • getType

      public XMPArrayType getType()
      Returns:
      the type of array
    • getValue

      public Object getValue(int idx)
      Returns the value at a given position.
      Parameters:
      idx - the index of the requested value
      Returns:
      the value at the given position
    • getStructure

      public XMPStructure getStructure(int idx)
      Returns the structure at a given position. If the value is not a structure a ClassCastException is thrown.
      Parameters:
      idx - the index of the requested value
      Returns:
      the structure at the given position
    • getSimpleValue

      public Object getSimpleValue()
      Returns a normal Java object representing the value if it is available.
      Specified by:
      getSimpleValue in class XMPComplexValue
      Returns:
      a simple object value or null if no such value can be returned (for example, because the value is an array and has multiple entries.
    • getLangValue

      public String getLangValue(String lang)
      Returns a language-dependent values (available for alternative arrays).
      Parameters:
      lang - the language ("x-default" for the default value)
      Returns:
      the requested value
    • removeLangValue

      public String removeLangValue(String lang)
      Removes a language-dependent value.
      Parameters:
      lang - the language ("x-default" for the default value)
      Returns:
      the removed value (or null if no value was set)
    • add

      public void add(Object value, String lang, String parseType)
      Adds a new value to the array
      Parameters:
      value - the value
    • add

      public void add(Object value, String lang)
      Adds a language-dependent value to the array. Make sure not to add the same language twice.
      Parameters:
      value - the value
      lang - the language ("x-default" for the default value)
    • add

      public void add(Object value)
    • remove

      public boolean remove(String value)
      Removes a value from the array. If the value doesn't exist, nothing happens.
      Parameters:
      value - the value to be removed
      Returns:
      true if the value was removed, false if it wasn't found
    • getSize

      public int getSize()
      Returns the current number of values in the array.
      Returns:
      the current number of values in the array
    • isEmpty

      public boolean isEmpty()
      Indicates whether the array is empty or not.
      Returns:
      true if the array is empty
    • toObjectArray

      public Object[] toObjectArray()
      Converts the array to an object array.
      Returns:
      an object array of all values in the array
    • toSAX

      public void toSAX(ContentHandler handler) throws SAXException
      Generates SAX events representing the object's state.
      Parameters:
      handler - ContentHandler instance to send the SAX events to
      Throws:
      SAXException - if there's a problem generating the SAX events
    • toString

      public String toString()
      Overrides:
      toString in class Object