Package org.apache.xmpbox.type
Class TypeMapping
- java.lang.Object
-
- org.apache.xmpbox.type.TypeMapping
-
public final class TypeMapping extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<java.lang.String,PropertiesDescription>
definedStructuredMappings
private java.util.Map<java.lang.String,java.lang.String>
definedStructuredNamespaces
private XMPMetadata
metadata
private java.util.Map<java.lang.String,XMPSchemaFactory>
schemaMap
private static java.lang.Class<?>[]
SIMPLEPROPERTYCONSTPARAMS
private java.util.Map<Types,PropertiesDescription>
structuredMappings
private java.util.Map<java.lang.String,Types>
structuredNamespaces
-
Constructor Summary
Constructors Constructor Description TypeMapping(XMPMetadata metadata)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
addNameSpace(java.lang.Class<? extends XMPSchema> classSchem)
void
addNewNameSpace(java.lang.String ns, java.lang.String preferred)
void
addToDefinedStructuredTypes(java.lang.String typeName, java.lang.String ns, PropertiesDescription pm)
AgentNameType
createAgentName(java.lang.String namespaceURI, java.lang.String prefix, java.lang.String propertyName, java.lang.String value)
ArrayProperty
createArrayProperty(java.lang.String namespace, java.lang.String prefix, java.lang.String propertyName, Cardinality type)
BooleanType
createBoolean(java.lang.String namespaceURI, java.lang.String prefix, java.lang.String propertyName, boolean value)
ChoiceType
createChoice(java.lang.String namespaceURI, java.lang.String prefix, java.lang.String propertyName, java.lang.String value)
DateType
createDate(java.lang.String namespaceURI, java.lang.String prefix, java.lang.String propertyName, java.util.Calendar value)
GUIDType
createGUID(java.lang.String namespaceURI, java.lang.String prefix, java.lang.String propertyName, java.lang.String value)
IntegerType
createInteger(java.lang.String namespaceURI, java.lang.String prefix, java.lang.String propertyName, int value)
LocaleType
createLocale(java.lang.String namespaceURI, java.lang.String prefix, java.lang.String propertyName, java.lang.String value)
MIMEType
createMIMEType(java.lang.String namespaceURI, java.lang.String prefix, java.lang.String propertyName, java.lang.String value)
PartType
createPart(java.lang.String namespaceURI, java.lang.String prefix, java.lang.String propertyName, java.lang.String value)
ProperNameType
createProperName(java.lang.String namespaceURI, java.lang.String prefix, java.lang.String propertyName, java.lang.String value)
static PropertyType
createPropertyType(Types type, Cardinality card)
RealType
createReal(java.lang.String namespaceURI, java.lang.String prefix, java.lang.String propertyName, float value)
RenditionClassType
createRenditionClass(java.lang.String namespaceURI, java.lang.String prefix, java.lang.String propertyName, java.lang.String value)
TextType
createText(java.lang.String namespaceURI, java.lang.String prefix, java.lang.String propertyName, java.lang.String value)
URIType
createURI(java.lang.String namespaceURI, java.lang.String prefix, java.lang.String propertyName, java.lang.String value)
URLType
createURL(java.lang.String namespaceURI, java.lang.String prefix, java.lang.String propertyName, java.lang.String value)
XPathType
createXPath(java.lang.String namespaceURI, java.lang.String prefix, java.lang.String propertyName, java.lang.String value)
XMPSchema
getAssociatedSchemaObject(XMPMetadata metadata, java.lang.String namespace, java.lang.String prefix)
Return the specialized schema class representation if it's known (create and add it to metadata).PropertiesDescription
getDefinedDescriptionByNamespace(java.lang.String namespace)
XMPSchemaFactory
getSchemaFactory(java.lang.String namespace)
PropertyType
getSpecifiedPropertyType(javax.xml.namespace.QName name)
Give type of specified property in specified schema (given by its namespaceURI)PropertiesDescription
getStructuredPropMapping(Types type)
private void
initialize()
PropertiesDescription
initializePropMapping(java.lang.Class<?> classSchem)
AbstractStructuredType
instanciateDefinedType(java.lang.String propertyName, java.lang.String namespace)
AbstractSimpleProperty
instanciateSimpleField(java.lang.Class<?> clz, java.lang.String nsuri, java.lang.String prefix, java.lang.String propertyName, java.lang.Object value)
AbstractSimpleProperty
instanciateSimpleProperty(java.lang.String nsuri, java.lang.String prefix, java.lang.String name, java.lang.Object value, Types type)
AbstractStructuredType
instanciateStructuredType(Types type, java.lang.String propertyName)
boolean
isDefinedNamespace(java.lang.String namespace)
boolean
isDefinedSchema(java.lang.String namespace)
Say if a specific namespace is knownboolean
isDefinedType(java.lang.String name)
boolean
isDefinedTypeNamespace(java.lang.String namespace)
boolean
isStructuredTypeNamespace(java.lang.String namespace)
Check if a namespace used reference a complex basic types (like Thumbnails)
-
-
-
Field Detail
-
structuredMappings
private java.util.Map<Types,PropertiesDescription> structuredMappings
-
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
-
metadata
private final XMPMetadata metadata
-
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)
-
instanciateStructuredType
public AbstractStructuredType instanciateStructuredType(Types type, java.lang.String propertyName) throws BadFieldValueException
- Throws:
BadFieldValueException
-
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)
-
getStructuredPropMapping
public PropertiesDescription getStructuredPropMapping(Types type)
-
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 schemanamespace
- The namespace URIprefix
- 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)
-
createPropertyType
public static PropertyType createPropertyType(Types type, Cardinality card)
-
-