Class XMPSchemaAdapter

java.lang.Object
org.apache.xmlgraphics.xmp.XMPSchemaAdapter
Direct Known Subclasses:
AdobePDFAdapter, DublinCoreAdapter, PDFAAdapter, PDFAExtensionAdapter, PDFUAAdapter, PDFVTAdapter, PDFXAdapter, XAPMMAdapter, XMPBasicAdapter

public class XMPSchemaAdapter extends Object
Base class for schema-specific adapters that provide user-friendly access to XMP values.
  • Field Details

    • meta

      protected Metadata meta
      the Metadata object this schema instance operates on
  • Constructor Details

    • 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 Details

    • 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
    • setProperty

      protected void setProperty(String propName, XMPProperty subProp)
    • 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
    • setCompact

      public void setCompact(boolean c)