org.apache.xmlgraphics.xmp

## Class XMPSchemaAdapter

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

- Direct Known Subclasses:
    AdobePDFAdapter, DublinCoreAdapter, PDFAAdapter, XMPBasicAdapter

      public class XMPSchemaAdapter
      extends Object

  Base class for schema-specific adapters that provide user-friendly access to XMP values.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected Metadata` | `meta` the Metadata object this schema instance operates on

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `XMPSchemaAdapter(Metadata meta, XMPSchema schema)` Main constructor.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `addDateToSeq(String propName, Date value)` Adds a date value to an ordered array.
    `protected void` | `addObjectToArray(String propName, Object value, XMPArrayType arrayType)` Adds a Object value to an array.
    `protected void` | `addStringToBag(String propName, String value)` Adds a String value to an unordered array.
    `protected void` | `addStringToSeq(String propName, String value)` Adds a String value to an ordered array.
    `protected PropertyAccess` | `findQualifiedStructure(String propName, QName qualifier, String qualifierValue)` Finds a structure that matches a given qualifier.
    `protected Object` | `findQualifiedValue(String propName, QName qualifier, String qualifierValue)` Finds a value that matches a given qualifier.
    `static String` | `formatISO8601Date(Date dt)` Formats a Date using ISO 8601 format in the default time zone.
    `static String` | `formatISO8601Date(Date dt, TimeZone tz)` Formats a Date using ISO 8601 format in the given time zone.
    `protected Date[]` | `getDateArray(String propName)` Returns a Date array representation of the property's values.
    `protected Date` | `getDateValue(String propName)` Returns a date value.
    `protected String` | `getLangAlt(String lang, String propName)` Returns a language-dependent value.
    `protected Object[]` | `getObjectArray(String propName)` Returns an object array representation of the property's values.
    `protected QName` | `getQName(String propName)` Returns the QName for a given property
    `XMPSchema` | `getSchema()`
    `protected String[]` | `getStringArray(String propName)` Returns a String array representation of the property's values.
    `protected String` | `getValue(String propName)` Returns a simple value.
    `protected String` | `removeLangAlt(String lang, String propName)` Removes a language-dependent value from an alternative array.
    `protected boolean` | `removeStringFromArray(String propName, String value)` Removes a value from an array.
    `protected void` | `setDateValue(String propName, Date value)` Set a date value.
    `protected void` | `setLangAlt(String propName, String lang, String value)` Sets a language-dependent value.
    `protected void` | `setValue(String propName, String value)` Sets a simple value.

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

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

- - ### Field Detail

    - #### meta

          protected Metadata meta

      the Metadata object this schema instance operates on

  - ### Constructor Detail

    - #### XMPSchemaAdapter

          public XMPSchemaAdapter(Metadata meta,
                          XMPSchema schema)

      Main constructor.
      Parameters:
        `meta` - the Metadata object to wrao
        `schema` - the XMP schema for which this adapter was written

  - ### Method Detail

    - #### getSchema

          public XMPSchema getSchema()

      Returns:
        the XMP schema associated with this adapter

    - #### getQName

          protected QName getQName(String propName)

      Returns the QName for a given property
      Parameters:
        `propName` - the property name
      Returns:
        the resulting QName

    - #### addObjectToArray

          protected void addObjectToArray(String propName,
                              Object value,
                              XMPArrayType arrayType)

      Adds a Object value to an array.
      Parameters:
        `propName` - the property name
        `value` - the Object value
        `arrayType` - the type of array to operate on

    - #### removeStringFromArray

          protected boolean removeStringFromArray(String propName,
                                      String value)

      Removes a value from an array.
      Parameters:
        `propName` - the name of the property
        `value` - the value to be removed
      Returns:
        true if the value was removed, false if it was not found

    - #### addStringToSeq

          protected void addStringToSeq(String propName,
                            String value)

      Adds a String value to an ordered array.
      Parameters:
        `propName` - the property name
        `value` - the String value

    - #### addStringToBag

          protected void addStringToBag(String propName,
                            String value)

      Adds a String value to an unordered array.
      Parameters:
        `propName` - the property name
        `value` - the String value

    - #### formatISO8601Date

          public static String formatISO8601Date(Date dt)

      Formats a Date using ISO 8601 format in the default time zone.
      Parameters:
        `dt` - the date
      Returns:
        the formatted date

    - #### formatISO8601Date

          public static String formatISO8601Date(Date dt,
                                 TimeZone tz)

      Formats a Date using ISO 8601 format in the given time zone.
      Parameters:
        `dt` - the date
        `tz` - the time zone
      Returns:
        the formatted date

    - #### addDateToSeq

          protected void addDateToSeq(String propName,
                          Date value)

      Adds a date value to an ordered array.
      Parameters:
        `propName` - the property name
        `value` - the date value

    - #### setDateValue

          protected void setDateValue(String propName,
                          Date value)

      Set a date value.
      Parameters:
        `propName` - the property name
        `value` - the date value

    - #### getDateValue

          protected Date getDateValue(String propName)

      Returns a date value.
      Parameters:
        `propName` - the property name
      Returns:
        the date value or null if the value is not set

    - #### setLangAlt

          protected void setLangAlt(String propName,
                        String lang,
                        String value)

      Sets a language-dependent value.
      Parameters:
        `propName` - the property name
        `lang` - the language ("x-default" or null for the default language)
        `value` - the value

    - #### setValue

          protected void setValue(String propName,
                      String value)

      Sets a simple value.
      Parameters:
        `propName` - the property name
        `value` - the value

    - #### getValue

          protected String getValue(String propName)

      Returns a simple value.
      Parameters:
        `propName` - the property name
      Returns:
        the requested value or null if it isn't set

    - #### removeLangAlt

          protected String removeLangAlt(String lang,
                             String propName)

      Removes a language-dependent value from an alternative array.
      Parameters:
        `lang` - the language ("x-default" for the default language)
        `propName` - the property name
      Returns:
        the removed value

    - #### getLangAlt

          protected String getLangAlt(String lang,
                          String propName)

      Returns a language-dependent value. If the value in the requested language is not available the value for the default language is returned.
      Parameters:
        `lang` - the language ("x-default" for the default language)
        `propName` - the property name
      Returns:
        the requested value

    - #### findQualifiedStructure

          protected PropertyAccess findQualifiedStructure(String propName,
                                              QName qualifier,
                                              String qualifierValue)

      Finds a structure that matches a given qualifier.
      Parameters:
        `propName` - the property name
        `qualifier` - the qualifier
        `qualifierValue` - the qualifier value
      Returns:
        the structure if a match was found (or null if no match was found)

    - #### findQualifiedValue

          protected Object findQualifiedValue(String propName,
                                  QName qualifier,
                                  String qualifierValue)

      Finds a value that matches a given qualifier.
      Parameters:
        `propName` - the property name
        `qualifier` - the qualifier
        `qualifierValue` - the qualifier value
      Returns:
        the value if a match was found (or null if no match was found)

    - #### getObjectArray

          protected Object[] getObjectArray(String propName)

      Returns an object array representation of the property's values.
      Parameters:
        `propName` - the property name
      Returns:
        the object array or null if the property isn't set

    - #### getStringArray

          protected String[] getStringArray(String propName)

      Returns a String array representation of the property's values. Complex values are converted to Strings using the toString() method.
      Parameters:
        `propName` - the property name
      Returns:
        the String array or null if the property isn't set

    - #### getDateArray

          protected Date[] getDateArray(String propName)

      Returns a Date array representation of the property's values.
      Parameters:
        `propName` - the property name
      Returns:
        the Date array or null if the property isn't set

Copyright 1999-2014 The Apache Software Foundation. All Rights Reserved.