Class TypeMapping


  • public final class TypeMapping
    extends java.lang.Object
    • Field Detail

      • structuredNamespaces

        private java.util.Map<java.lang.String,​Types> structuredNamespaces
      • definedStructuredNamespaces

        private java.util.Map<java.lang.String,​java.lang.String> definedStructuredNamespaces
      • definedStructuredMappings

        private java.util.Map<java.lang.String,​PropertiesDescription> definedStructuredMappings
      • schemaMap

        private java.util.Map<java.lang.String,​XMPSchemaFactory> schemaMap
      • SIMPLEPROPERTYCONSTPARAMS

        private static final java.lang.Class<?>[] SIMPLEPROPERTYCONSTPARAMS
    • Constructor Detail

      • TypeMapping

        public TypeMapping​(XMPMetadata metadata)
    • Method Detail

      • initialize

        private void initialize()
      • addToDefinedStructuredTypes

        public void addToDefinedStructuredTypes​(java.lang.String typeName,
                                                java.lang.String ns,
                                                PropertiesDescription pm)
      • getDefinedDescriptionByNamespace

        public PropertiesDescription getDefinedDescriptionByNamespace​(java.lang.String namespace)
      • instanciateDefinedType

        public AbstractStructuredType instanciateDefinedType​(java.lang.String propertyName,
                                                             java.lang.String namespace)
      • instanciateSimpleProperty

        public AbstractSimpleProperty instanciateSimpleProperty​(java.lang.String nsuri,
                                                                java.lang.String prefix,
                                                                java.lang.String name,
                                                                java.lang.Object value,
                                                                Types type)
      • instanciateSimpleField

        public AbstractSimpleProperty instanciateSimpleField​(java.lang.Class<?> clz,
                                                             java.lang.String nsuri,
                                                             java.lang.String prefix,
                                                             java.lang.String propertyName,
                                                             java.lang.Object value)
      • isStructuredTypeNamespace

        public boolean isStructuredTypeNamespace​(java.lang.String namespace)
        Check if a namespace used reference a complex basic types (like Thumbnails)
        Parameters:
        namespace - The namespace URI to check
        Returns:
        True if namespace URI is a reference for a complex basic type
      • isDefinedTypeNamespace

        public boolean isDefinedTypeNamespace​(java.lang.String namespace)
      • isDefinedType

        public boolean isDefinedType​(java.lang.String name)
      • addNameSpace

        private void addNameSpace​(java.lang.Class<? extends XMPSchema> classSchem)
      • addNewNameSpace

        public void addNewNameSpace​(java.lang.String ns,
                                    java.lang.String preferred)
      • getAssociatedSchemaObject

        public XMPSchema getAssociatedSchemaObject​(XMPMetadata metadata,
                                                   java.lang.String namespace,
                                                   java.lang.String prefix)
                                            throws XmpSchemaException
        Return the specialized schema class representation if it's known (create and add it to metadata). In other cases, return null
        Parameters:
        metadata - Metadata to link the new schema
        namespace - The namespace URI
        prefix - The namespace prefix
        Returns:
        Schema representation
        Throws:
        XmpSchemaException - When Instancing specified Object Schema failed
      • getSchemaFactory

        public XMPSchemaFactory getSchemaFactory​(java.lang.String namespace)
      • isDefinedSchema

        public boolean isDefinedSchema​(java.lang.String namespace)
        Say if a specific namespace is known
        Parameters:
        namespace - The namespace URI checked
        Returns:
        True if namespace URI is known
      • isDefinedNamespace

        public boolean isDefinedNamespace​(java.lang.String namespace)
      • getSpecifiedPropertyType

        public PropertyType getSpecifiedPropertyType​(javax.xml.namespace.QName name)
                                              throws BadFieldValueException
        Give type of specified property in specified schema (given by its namespaceURI)
        Parameters:
        name - the property Qualified Name
        Returns:
        Property type declared for namespace specified, null if unknown
        Throws:
        BadFieldValueException - if the name was not found.
      • initializePropMapping

        public PropertiesDescription initializePropMapping​(java.lang.Class<?> classSchem)
      • createBoolean

        public BooleanType createBoolean​(java.lang.String namespaceURI,
                                         java.lang.String prefix,
                                         java.lang.String propertyName,
                                         boolean value)
      • createDate

        public DateType createDate​(java.lang.String namespaceURI,
                                   java.lang.String prefix,
                                   java.lang.String propertyName,
                                   java.util.Calendar value)
      • createInteger

        public IntegerType createInteger​(java.lang.String namespaceURI,
                                         java.lang.String prefix,
                                         java.lang.String propertyName,
                                         int value)
      • createReal

        public RealType createReal​(java.lang.String namespaceURI,
                                   java.lang.String prefix,
                                   java.lang.String propertyName,
                                   float value)
      • createText

        public TextType createText​(java.lang.String namespaceURI,
                                   java.lang.String prefix,
                                   java.lang.String propertyName,
                                   java.lang.String value)
      • createProperName

        public ProperNameType createProperName​(java.lang.String namespaceURI,
                                               java.lang.String prefix,
                                               java.lang.String propertyName,
                                               java.lang.String value)
      • createURI

        public URIType createURI​(java.lang.String namespaceURI,
                                 java.lang.String prefix,
                                 java.lang.String propertyName,
                                 java.lang.String value)
      • createURL

        public URLType createURL​(java.lang.String namespaceURI,
                                 java.lang.String prefix,
                                 java.lang.String propertyName,
                                 java.lang.String value)
      • createRenditionClass

        public RenditionClassType createRenditionClass​(java.lang.String namespaceURI,
                                                       java.lang.String prefix,
                                                       java.lang.String propertyName,
                                                       java.lang.String value)
      • createPart

        public PartType createPart​(java.lang.String namespaceURI,
                                   java.lang.String prefix,
                                   java.lang.String propertyName,
                                   java.lang.String value)
      • createMIMEType

        public MIMEType createMIMEType​(java.lang.String namespaceURI,
                                       java.lang.String prefix,
                                       java.lang.String propertyName,
                                       java.lang.String value)
      • createLocale

        public LocaleType createLocale​(java.lang.String namespaceURI,
                                       java.lang.String prefix,
                                       java.lang.String propertyName,
                                       java.lang.String value)
      • createGUID

        public GUIDType createGUID​(java.lang.String namespaceURI,
                                   java.lang.String prefix,
                                   java.lang.String propertyName,
                                   java.lang.String value)
      • createChoice

        public ChoiceType createChoice​(java.lang.String namespaceURI,
                                       java.lang.String prefix,
                                       java.lang.String propertyName,
                                       java.lang.String value)
      • createAgentName

        public AgentNameType createAgentName​(java.lang.String namespaceURI,
                                             java.lang.String prefix,
                                             java.lang.String propertyName,
                                             java.lang.String value)
      • createXPath

        public XPathType createXPath​(java.lang.String namespaceURI,
                                     java.lang.String prefix,
                                     java.lang.String propertyName,
                                     java.lang.String value)
      • createArrayProperty

        public ArrayProperty createArrayProperty​(java.lang.String namespace,
                                                 java.lang.String prefix,
                                                 java.lang.String propertyName,
                                                 Cardinality type)