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>definedStructuredMappingsprivate java.util.Map<java.lang.String,java.lang.String>definedStructuredNamespacesDeprecated.private java.util.Map<java.lang.String,java.util.List<PropertiesDescription>>definedStructuredNamespaces2private XMPMetadatametadataprivate java.util.Map<java.lang.String,XMPSchemaFactory>schemaMapprivate static java.lang.Class<?>[]SIMPLEPROPERTYCONSTPARAMSprivate java.util.Map<Types,PropertiesDescription>structuredMappingsprivate java.util.Map<java.lang.String,Types>structuredNamespacesDeprecated.private java.util.Map<java.lang.String,java.util.List<Types>>structuredNamespaces2
-
Constructor Summary
Constructors Constructor Description TypeMapping(XMPMetadata metadata)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description private voidaddNameSpace(java.lang.Class<? extends XMPSchema> classSchem)voidaddNewNameSpace(java.lang.String ns, java.lang.String preferred)voidaddToDefinedStructuredTypes(java.lang.String typeName, java.lang.String ns, PropertiesDescription pm)AgentNameTypecreateAgentName(java.lang.String namespaceURI, java.lang.String prefix, java.lang.String propertyName, java.lang.String value)ArrayPropertycreateArrayProperty(java.lang.String namespace, java.lang.String prefix, java.lang.String propertyName, Cardinality type)BooleanTypecreateBoolean(java.lang.String namespaceURI, java.lang.String prefix, java.lang.String propertyName, boolean value)ChoiceTypecreateChoice(java.lang.String namespaceURI, java.lang.String prefix, java.lang.String propertyName, java.lang.String value)DateTypecreateDate(java.lang.String namespaceURI, java.lang.String prefix, java.lang.String propertyName, java.util.Calendar value)GUIDTypecreateGUID(java.lang.String namespaceURI, java.lang.String prefix, java.lang.String propertyName, java.lang.String value)IntegerTypecreateInteger(java.lang.String namespaceURI, java.lang.String prefix, java.lang.String propertyName, int value)LocaleTypecreateLocale(java.lang.String namespaceURI, java.lang.String prefix, java.lang.String propertyName, java.lang.String value)MIMETypecreateMIMEType(java.lang.String namespaceURI, java.lang.String prefix, java.lang.String propertyName, java.lang.String value)PartTypecreatePart(java.lang.String namespaceURI, java.lang.String prefix, java.lang.String propertyName, java.lang.String value)ProperNameTypecreateProperName(java.lang.String namespaceURI, java.lang.String prefix, java.lang.String propertyName, java.lang.String value)static PropertyTypecreatePropertyType(Types type, Cardinality card)RealTypecreateReal(java.lang.String namespaceURI, java.lang.String prefix, java.lang.String propertyName, float value)RenditionClassTypecreateRenditionClass(java.lang.String namespaceURI, java.lang.String prefix, java.lang.String propertyName, java.lang.String value)TextTypecreateText(java.lang.String namespaceURI, java.lang.String prefix, java.lang.String propertyName, java.lang.String value)URITypecreateURI(java.lang.String namespaceURI, java.lang.String prefix, java.lang.String propertyName, java.lang.String value)URLTypecreateURL(java.lang.String namespaceURI, java.lang.String prefix, java.lang.String propertyName, java.lang.String value)XPathTypecreateXPath(java.lang.String namespaceURI, java.lang.String prefix, java.lang.String propertyName, java.lang.String value)XMPSchemagetAssociatedSchemaObject(XMPMetadata metadata, java.lang.String namespace, java.lang.String prefix)Deprecated.This method will be removed in 4.0.PropertiesDescriptiongetDefinedDescriptionByNamespace(java.lang.String namespace)Deprecated.PropertiesDescriptiongetDefinedDescriptionByNamespace(java.lang.String namespace, java.lang.String pdfaFieldName)Get a property description based on namespace and field name.XMPSchemaFactorygetSchemaFactory(java.lang.String namespace)PropertyTypegetSpecifiedPropertyType(javax.xml.namespace.QName qName)Deprecated.PropertyTypegetSpecifiedPropertyType(javax.xml.namespace.QName qName, java.lang.String parentTypeName)Give type of specified property in specified schema (given by its namespaceURI)PropertiesDescriptiongetStructuredPropMapping(Types type)private voidinitialize()PropertiesDescriptioninitializePropMapping(java.lang.Class<?> classSchem)AbstractStructuredTypeinstanciateDefinedType(java.lang.String propertyName, java.lang.String namespace)AbstractSimplePropertyinstanciateSimpleField(java.lang.Class<?> clz, java.lang.String nsuri, java.lang.String prefix, java.lang.String propertyName, java.lang.Object value)AbstractSimplePropertyinstanciateSimpleProperty(java.lang.String nsuri, java.lang.String prefix, java.lang.String name, java.lang.Object value, Types type)AbstractStructuredTypeinstanciateStructuredType(Types type, java.lang.String propertyName)booleanisDefinedNamespace(java.lang.String namespace)booleanisDefinedSchema(java.lang.String namespace)Say if a specific namespace is knownbooleanisDefinedType(java.lang.String name)booleanisDefinedTypeNamespace(java.lang.String namespace)booleanisStructuredTypeNamespace(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
@Deprecated private java.util.Map<java.lang.String,Types> structuredNamespaces
Deprecated.
-
definedStructuredNamespaces
@Deprecated private java.util.Map<java.lang.String,java.lang.String> definedStructuredNamespaces
Deprecated.
-
definedStructuredNamespaces2
private java.util.Map<java.lang.String,java.util.List<PropertiesDescription>> definedStructuredNamespaces2
-
definedStructuredMappings
private java.util.Map<java.lang.String,PropertiesDescription> definedStructuredMappings
-
structuredNamespaces2
private java.util.Map<java.lang.String,java.util.List<Types>> structuredNamespaces2
-
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
@Deprecated public PropertiesDescription getDefinedDescriptionByNamespace(java.lang.String namespace)
Deprecated.
-
getDefinedDescriptionByNamespace
public PropertiesDescription getDefinedDescriptionByNamespace(java.lang.String namespace, java.lang.String pdfaFieldName)
Get a property description based on namespace and field name. Both are needed because there can be several property descriptions for one namespace.- Parameters:
namespace-pdfaFieldName-- Returns:
-
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
@Deprecated public XMPSchema getAssociatedSchemaObject(XMPMetadata metadata, java.lang.String namespace, java.lang.String prefix) throws XmpSchemaException
Deprecated.This method will be removed in 4.0. If you need it, let us know.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
@Deprecated public PropertyType getSpecifiedPropertyType(javax.xml.namespace.QName qName) throws BadFieldValueException
Deprecated.- Throws:
BadFieldValueException
-
getSpecifiedPropertyType
public PropertyType getSpecifiedPropertyType(javax.xml.namespace.QName qName, java.lang.String parentTypeName) throws BadFieldValueException
Give type of specified property in specified schema (given by its namespaceURI)- Parameters:
qName- the property Qualified NameparentTypeName- the type name of the parent, or null if not known. This is intended to help when the field name is in several types, e.g. "Values" in exif.- Returns:
- Property type declared for namespace specified, null if unknown
- Throws:
BadFieldValueException- if the name of a type 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)
-
-