public class XMPMetadata extends Object
Modifier and Type | Field and Description |
---|---|
protected String |
encoding
The encoding of the XMP document.
|
static String |
ENCODING_UTF16BE
Supported encoding for persisted XML.
|
static String |
ENCODING_UTF16LE
Supported encoding for persisted XML.
|
static String |
ENCODING_UTF8
Supported encoding for persisted XML.
|
protected Map<String,Class<?>> |
nsMappings
A mapping of namespaces.
|
protected Document |
xmpDocument
The DOM representation of the metadata.
|
Constructor and Description |
---|
XMPMetadata()
Default constructor, creates blank XMP doc.
|
XMPMetadata(Document doc)
Constructor from an existing XML document.
|
Modifier and Type | Method and Description |
---|---|
XMPSchemaBasicJobTicket |
addBasicJobTicketSchema()
Add a new Job Ticket schema.
|
XMPSchemaBasic |
addBasicSchema()
Create and add a new Basic Schema to this metadata.
|
XMPSchemaDublinCore |
addDublinCoreSchema()
Create and add a new Dublin Core Schema to this metadata.
|
XMPSchemaDynamicMedia |
addDynamicMediaSchema()
Add a new Dynamic Media schema.
|
XMPSchemaIptc4xmpCore |
addIptc4xmpCoreSchema()
Create and add a new IPTC schema to this metadata.
|
XMPSchemaMediaManagement |
addMediaManagementSchema()
Add a new Media Management schema.
|
XMPSchemaPagedText |
addPagedTextSchema()
Add a new Paged Text schema.
|
XMPSchemaPDF |
addPDFSchema()
Create and add a new PDF Schema to this metadata.
|
XMPSchemaPhotoshop |
addPhotoshopSchema()
Create and add a new Photoshop schema to this metadata.
|
XMPSchemaRightsManagement |
addRightsManagementSchema()
Add a new Rights Managment schema.
|
void |
addSchema(XMPSchema schema)
Add a custom schema to the root rdf.
|
void |
addXMLNSMapping(String namespace,
Class<?> xmpSchema)
Will add a XMPSchema to the set of identified schemas.
|
byte[] |
asByteArray()
Get the XML document as a byte array.
|
protected XMPSchema |
basicAddSchema(XMPSchema schema)
Generic add schema method.
|
XMPSchemaBasicJobTicket |
getBasicJobTicketSchema()
Get the Job Ticket Schema.
|
XMPSchemaBasic |
getBasicSchema()
Get the Basic Schema.
|
XMPSchemaDublinCore |
getDublinCoreSchema()
Get the Dublin Core Schema.
|
XMPSchemaDynamicMedia |
getDynamicMediaSchema()
Get the Dynamic Media Schema.
|
String |
getEncoding()
Get the current encoding that will be used to write the XML.
|
XMPSchemaMediaManagement |
getMediaManagementSchema()
Get the Media Management Schema.
|
XMPSchemaPagedText |
getPagedTextSchema()
Get the Paged Text Schema.
|
XMPSchemaPDF |
getPDFSchema()
Get the PDF Schema.
|
XMPSchemaRightsManagement |
getRightsManagementSchema()
Get the Schema Rights Schema.
|
XMPSchema |
getSchemaByClass(Class<?> targetSchema)
Tries to retrieve a schema from this by classname.
|
List<XMPSchema> |
getSchemas()
This will get a list of XMPSchema(or subclass) objects.
|
List<XMPSchema> |
getSchemasByNamespaceURI(String namespaceURI)
Will return all schemas that fit the given namespaceURI.
|
Document |
getXMPDocument()
Get the XML document from this object.
|
boolean |
hasUnknownSchema()
This will return true if the XMP contains an unknown schema.
|
static XMPMetadata |
load(InputSource is)
Load a schema from an input source.
|
static XMPMetadata |
load(InputStream is)
Load metadata from the filesystem.
|
static XMPMetadata |
load(String file)
Load metadata from the filesystem.
|
static void |
main(String[] args)
Test main program.
|
void |
merge(XMPMetadata metadata)
Merge this metadata with the given metadata object.
|
void |
save(OutputStream outStream)
Save the XMP document to a stream.
|
void |
save(String file)
Save the XMP document to a file.
|
void |
setEncoding(String xmlEncoding)
The encoding used to write the XML.
|
public static final String ENCODING_UTF8
public static final String ENCODING_UTF16BE
public static final String ENCODING_UTF16LE
protected Document xmpDocument
protected String encoding
public XMPMetadata() throws IOException
IOException
- If there is an error creating the initial document.public XMPMetadata(Document doc)
doc
- The root XMP document.public void addXMLNSMapping(String namespace, Class<?> xmpSchema)
namespace
- The namespace URI of the schmema for instance
http://purl.org/dc/elements/1.1/.xmpSchema
- The schema to associated this identifier with.public XMPSchemaPDF getPDFSchema() throws IOException
IOException
- If there is an error accessing the schema.public XMPSchemaBasic getBasicSchema() throws IOException
IOException
- If there is an error accessing the schema.public XMPSchemaDublinCore getDublinCoreSchema() throws IOException
IOException
- If there is an error accessing the schema.public XMPSchemaMediaManagement getMediaManagementSchema() throws IOException
IOException
- If there is an error accessing the schema.public XMPSchemaRightsManagement getRightsManagementSchema() throws IOException
IOException
- If there is an error accessing the schema.public XMPSchemaBasicJobTicket getBasicJobTicketSchema() throws IOException
IOException
- If there is an error accessing the schema.public XMPSchemaDynamicMedia getDynamicMediaSchema() throws IOException
IOException
- If there is an error accessing the schema.public XMPSchemaPagedText getPagedTextSchema() throws IOException
IOException
- If there is an error accessing the schema.public XMPSchemaMediaManagement addMediaManagementSchema()
public XMPSchemaRightsManagement addRightsManagementSchema()
public XMPSchemaBasicJobTicket addBasicJobTicketSchema()
public XMPSchemaDynamicMedia addDynamicMediaSchema()
public XMPSchemaPagedText addPagedTextSchema()
public void addSchema(XMPSchema schema)
schema
- The schema to add.public void save(String file) throws Exception
file
- The file to save the XMP document to.Exception
- If there is an error while writing to the stream.public void save(OutputStream outStream) throws TransformerException
outStream
- The stream to save the XMP document to.TransformerException
- If there is an error while writing to the stream.public byte[] asByteArray() throws Exception
Exception
- If there is an error creating the stream.public Document getXMPDocument()
protected XMPSchema basicAddSchema(XMPSchema schema)
schema
- The schema to add.public XMPSchemaPDF addPDFSchema()
public XMPSchemaDublinCore addDublinCoreSchema()
public XMPSchemaBasic addBasicSchema()
public XMPSchemaIptc4xmpCore addIptc4xmpCoreSchema()
public XMPSchemaPhotoshop addPhotoshopSchema()
public void setEncoding(String xmlEncoding)
xmlEncoding
- The encoding to write the XML as.public String getEncoding()
public static XMPMetadata load(String file) throws IOException
file
- The file to load the metadata from.IOException
- If there is an error reading the data.public static XMPMetadata load(InputSource is) throws IOException
is
- The input source to load the schema from.IOException
- If there was an error while loading the schema.public static XMPMetadata load(InputStream is) throws IOException
is
- The stream to load the data from.IOException
- If there is an error reading the data.public static void main(String[] args) throws Exception
args
- The command line arguments.Exception
- If there is an error.public List<XMPSchema> getSchemas() throws IOException
IOException
- If there is an error creating a specific schema.public List<XMPSchema> getSchemasByNamespaceURI(String namespaceURI) throws IOException
namespaceURI
- The namespaceURI to filter for.IOException
- If an operation on the document fails.public boolean hasUnknownSchema() throws IOException
IOException
- If there is an errorpublic XMPSchema getSchemaByClass(Class<?> targetSchema) throws IOException
targetSchema
- Class for targetSchema.IOException
- if there was an error creating the schemas of this.public void merge(XMPMetadata metadata) throws IOException
metadata
- The metadata to merge with this document.IOException
- If there is an error merging the data.Copyright © 2002–2015 The Apache Software Foundation. All rights reserved.