Package org.apache.tika.xmp.convert
Class AbstractConverter
- java.lang.Object
-
- org.apache.tika.xmp.convert.AbstractConverter
-
- All Implemented Interfaces:
ITikaToXMPConverter
- Direct Known Subclasses:
GenericConverter
,MSOfficeBinaryConverter
,MSOfficeXMLConverter
,OpenDocumentConverter
,RTFConverter
public abstract class AbstractConverter extends Object implements ITikaToXMPConverter
Base class for Tika Metadata to XMP converter which provides some needed common functionality.
-
-
Field Summary
Fields Modifier and Type Field Description protected com.adobe.internal.xmp.XMPMeta
meta
-
Constructor Summary
Constructors Constructor Description AbstractConverter()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected void
createArrayProperty(String tikaKey, String ns, String propertyName, int arrayType)
Creates an array property from a list of values.protected void
createArrayProperty(Property metadataProperty, String nsDc, String arrayProperty, int arrayType)
protected void
createCommaSeparatedArray(String tikaKey, String ns, String propertyName, int arrayType)
Creates an array property from a comma separated list.protected void
createCommaSeparatedArray(Property metadataProperty, String nsDc, String arrayProperty, int arrayType)
protected void
createLangAltProperty(String tikaKey, String ns, String propertyName)
Creates a language alternative property in the x-default languageprotected void
createLangAltProperty(Property metadataProperty, String ns, String propertyName)
protected void
createProperty(String tikaKey, String ns, String propertyName)
Creates a simple property.protected void
createProperty(Property metadataProperty, String ns, String propertyName)
protected abstract Set<Namespace>
getAdditionalNamespaces()
Every Converter has to provide information about namespaces that are used additionally to the core set of XMP namespaces.com.adobe.internal.xmp.XMPMeta
getXMPMeta()
abstract com.adobe.internal.xmp.XMPMeta
process(Metadata metadata)
Converts a TikaMetadata
-object into anXMPMeta
containing the useful properties.protected void
registerNamespaces(Set<Namespace> namespaces)
Registers a numberNamespace
information with XMPCore.void
setMetadata(Metadata metadata)
-
-
-
Constructor Detail
-
AbstractConverter
public AbstractConverter() throws TikaException
- Throws:
TikaException
-
-
Method Detail
-
process
public abstract com.adobe.internal.xmp.XMPMeta process(Metadata metadata) throws com.adobe.internal.xmp.XMPException
Description copied from interface:ITikaToXMPConverter
Converts a TikaMetadata
-object into anXMPMeta
containing the useful properties.- Specified by:
process
in interfaceITikaToXMPConverter
- Parameters:
metadata
- a Tika Metadata object- Returns:
- Returns an XMPMeta object.
- Throws:
com.adobe.internal.xmp.XMPException
- If an error occurs during the creation of the XMP object.
-
getAdditionalNamespaces
protected abstract Set<Namespace> getAdditionalNamespaces()
Every Converter has to provide information about namespaces that are used additionally to the core set of XMP namespaces.- Returns:
- the additional namespace information
-
setMetadata
public void setMetadata(Metadata metadata)
-
getXMPMeta
public com.adobe.internal.xmp.XMPMeta getXMPMeta()
-
registerNamespaces
protected void registerNamespaces(Set<Namespace> namespaces) throws TikaException
Registers a numberNamespace
information with XMPCore. Any already registered namespace is not registered again.- Parameters:
namespaces
- the list of namespaces to be registered- Throws:
TikaException
- in case a namespace oculd not be registered
-
createProperty
protected void createProperty(Property metadataProperty, String ns, String propertyName) throws com.adobe.internal.xmp.XMPException
- Throws:
com.adobe.internal.xmp.XMPException
- See Also:
createProperty(String, String, String)
-
createProperty
protected void createProperty(String tikaKey, String ns, String propertyName) throws com.adobe.internal.xmp.XMPException
Creates a simple property.- Parameters:
tikaKey
- Key in the Tika metadata mapns
- namespace the property should be created inpropertyName
- name of the property- Throws:
com.adobe.internal.xmp.XMPException
- if the property could not be created
-
createLangAltProperty
protected void createLangAltProperty(Property metadataProperty, String ns, String propertyName) throws com.adobe.internal.xmp.XMPException
- Throws:
com.adobe.internal.xmp.XMPException
- See Also:
createLangAltProperty(String, String, String)
-
createLangAltProperty
protected void createLangAltProperty(String tikaKey, String ns, String propertyName) throws com.adobe.internal.xmp.XMPException
Creates a language alternative property in the x-default language- Parameters:
tikaKey
- Key in the Tika metadata mapns
- namespace the property should be created inpropertyName
- name of the property- Throws:
com.adobe.internal.xmp.XMPException
- if the property could not be created
-
createArrayProperty
protected void createArrayProperty(Property metadataProperty, String nsDc, String arrayProperty, int arrayType) throws com.adobe.internal.xmp.XMPException
- Throws:
com.adobe.internal.xmp.XMPException
-
createArrayProperty
protected void createArrayProperty(String tikaKey, String ns, String propertyName, int arrayType) throws com.adobe.internal.xmp.XMPException
Creates an array property from a list of values.- Parameters:
tikaKey
- Key in the Tika metadata mapns
- namespace the property should be created inpropertyName
- name of the propertyarrayType
- depicts which kind of array shall be created- Throws:
com.adobe.internal.xmp.XMPException
- if the property could not be created
-
createCommaSeparatedArray
protected void createCommaSeparatedArray(Property metadataProperty, String nsDc, String arrayProperty, int arrayType) throws com.adobe.internal.xmp.XMPException
- Throws:
com.adobe.internal.xmp.XMPException
-
createCommaSeparatedArray
protected void createCommaSeparatedArray(String tikaKey, String ns, String propertyName, int arrayType) throws com.adobe.internal.xmp.XMPException
Creates an array property from a comma separated list.- Parameters:
tikaKey
- Key in the Tika metadata mapns
- namespace the property should be created inpropertyName
- name of the propertyarrayType
- depicts which kind of array shall be created- Throws:
com.adobe.internal.xmp.XMPException
- if the property could not be created
-
-