XMPProperty
Date: 2016-04-28

org.apache.xmlgraphics.xmp

## Class XMPProperty

- java.lang.Object
- - org.apache.xmlgraphics.xmp.XMPProperty

- All Implemented Interfaces:
    XMLizable

      public class XMPProperty
      extends java.lang.Object
      implements XMLizable

  This class is the base class for all XMP properties.

- - ### Property Summary

    Properties
    Type | Property and Description
    --- | ---
    `boolean` | `isQualified` Indicates whether this property is actually not a structure, but a normal property with property qualifiers.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `XMPProperty(QName name, java.lang.Object value)` Creates a new XMP property.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `XMPArray` | `convertSimpleValueToArray(XMPArrayType type)` Converts a simple value to an array of a given type if the value is not already an array.
    `XMPArray` | `getArrayValue()`
    `QName` | `getName()`
    `java.lang.String` | `getNamespace()`
    `PropertyAccess` | `getStructureValue()`
    `java.lang.Object` | `getValue()`
    `java.lang.String` | `getXMLLang()`
    `boolean` | `isArray()` Indicates whether the property is an array.
    `boolean` | `isQualifiedProperty()` Indicates whether this property is actually not a structure, but a normal property with property qualifiers.
    `void` | `setValue(java.lang.Object value)` Sets the value of the property
    `void` | `setXMLLang(java.lang.String lang)` Sets the xml:lang value for this property
    `void` | `simplify()`
    `void` | `toSAX(org.xml.sax.ContentHandler handler)` Generates SAX events representing the object's state.
    `java.lang.String` | `toString()`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Property Detail

    - #### isQualified

      Indicates whether this property is actually not a structure, but a normal property with property qualifiers. If this method returns true, this structure can be converted to an simple XMPProperty using the simplify() method.
      Returns:
        true if this property is a structure property with property qualifiers

  - ### Constructor Detail

    - #### XMPProperty

          public XMPProperty(QName name,
                     java.lang.Object value)

      Creates a new XMP property.
      Parameters:
        `name` - the name of the property
        `value` - the value for the property

  - ### Method Detail

    - #### getName

          public QName getName()

      Returns:
        the qualified name of the property (namespace URI + local name)

    - #### getNamespace

          public java.lang.String getNamespace()

      Returns:
        the namespace URI of the property

    - #### setValue

          public void setValue(java.lang.Object value)

      Sets the value of the property
      Parameters:
        `value` - the new value

    - #### getValue

          public java.lang.Object getValue()

      Returns:
        the property value (can be a normal Java object (normally a String) or a descendant of XMPComplexValue.

    - #### setXMLLang

          public void setXMLLang(java.lang.String lang)

      Sets the xml:lang value for this property
      Parameters:
        `lang` - the language ("x-default" for the default language, null to make the value language-independent)

    - #### getXMLLang

          public java.lang.String getXMLLang()

      Returns:
        the language for language-dependent values ("x-default" for the default language)

    - #### isArray

          public boolean isArray()

      Indicates whether the property is an array.
      Returns:
        true if the property is an array

    - #### getArrayValue

          public XMPArray getArrayValue()

      Returns:
        the XMPArray for an array or null if the value is not an array.

    - #### convertSimpleValueToArray

          public XMPArray convertSimpleValueToArray(XMPArrayType type)

      Converts a simple value to an array of a given type if the value is not already an array.
      Parameters:
        `type` - the desired type of array
      Returns:
        the array value

    - #### getStructureValue

          public PropertyAccess getStructureValue()

      Returns:
        the XMPStructure for a structure or null if the value is not a structure.

    - #### isQualifiedProperty

          public boolean isQualifiedProperty()

      Indicates whether this property is actually not a structure, but a normal property with property qualifiers. If this method returns true, this structure can be converted to an simple XMPProperty using the simplify() method.
      Returns:
        true if this property is a structure property with property qualifiers

    - #### simplify

          public void simplify()

    - #### toSAX

          public void toSAX(org.xml.sax.ContentHandler handler)
                     throws org.xml.sax.SAXException

      Description copied from interface: `XMLizable`
      Generates SAX events representing the object's state.
      Specified by:
        `toSAX` in interface `XMLizable`
      Parameters:
        `handler` - ContentHandler instance to send the SAX events to
      Throws:
        `org.xml.sax.SAXException` - if there's a problem generating the SAX events
      See Also:
        `XMLizable.toSAX(org.xml.sax.ContentHandler)`

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`
      See Also:
        `Object.toString()`