Class XMPSchemaAdapter

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

        public void setCompact​(boolean c)