Class XMPSchemaAdapter

    • Field Summary

      Fields 
      Modifier and Type Field Description
      private boolean compact  
      protected Metadata meta
      the Metadata object this schema instance operates on
      private XMPSchema schema  
    • Method Summary

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

        private boolean compact
    • 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​(java.lang.String propName)
        Returns the QName for a given property
        Parameters:
        propName - the property name
        Returns:
        the resulting QName
      • addStringToArray

        private void addStringToArray​(java.lang.String propName,
                                      java.lang.String value,
                                      XMPArrayType arrayType)
        Adds a String value to an array.
        Parameters:
        propName - the property name
        value - the String value
        arrayType - the type of array to operate on
      • addObjectToArray

        protected void addObjectToArray​(java.lang.String propName,
                                        java.lang.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​(java.lang.String propName,
                                                java.lang.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​(java.lang.String propName,
                                      java.lang.String value)
        Adds a String value to an ordered array.
        Parameters:
        propName - the property name
        value - the String value
      • addStringToBag

        protected void addStringToBag​(java.lang.String propName,
                                      java.lang.String value)
        Adds a String value to an unordered array.
        Parameters:
        propName - the property name
        value - the String value
      • formatISO8601Date

        public static java.lang.String formatISO8601Date​(java.util.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 java.lang.String formatISO8601Date​(java.util.Date dt,
                                                         java.util.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​(java.lang.String propName,
                                    java.util.Date value)
        Adds a date value to an ordered array.
        Parameters:
        propName - the property name
        value - the date value
      • setDateValue

        protected void setDateValue​(java.lang.String propName,
                                    java.util.Date value)
        Set a date value.
        Parameters:
        propName - the property name
        value - the date value
      • getDateValue

        protected java.util.Date getDateValue​(java.lang.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​(java.lang.String propName,
                                  java.lang.String lang,
                                  java.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​(java.lang.String propName,
                                java.lang.String value)
        Sets a simple value.
        Parameters:
        propName - the property name
        value - the value
      • getValue

        protected java.lang.String getValue​(java.lang.String propName)
        Returns a simple value.
        Parameters:
        propName - the property name
        Returns:
        the requested value or null if it isn't set
      • removeLangAlt

        protected java.lang.String removeLangAlt​(java.lang.String lang,
                                                 java.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 java.lang.String getLangAlt​(java.lang.String lang,
                                              java.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​(java.lang.String propName,
                                                        QName qualifier,
                                                        java.lang.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 java.lang.Object findQualifiedValue​(java.lang.String propName,
                                                      QName qualifier,
                                                      java.lang.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 java.lang.Object[] getObjectArray​(java.lang.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 java.lang.String[] getStringArray​(java.lang.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 java.util.Date[] getDateArray​(java.lang.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)