Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jempbox.xmp
Class XMPSchema

    java.lang.Object
      org.jempbox.xmp.XMPSchema

Direct Known Subclasses:
  XMPSchemaBasic, XMPSchemaBasicJobTicket, XMPSchemaDublinCore, XMPSchemaDynamicMedia, XMPSchemaIptc4xmpCore, XMPSchemaMediaManagement, XMPSchemaPagedText, XMPSchemaPDF, XMPSchemaPDFAField, XMPSchemaPDFAId, XMPSchemaPDFAProperty, XMPSchemaPDFASchema, XMPSchemaPDFAType, XMPSchemaPhotoshop, XMPSchemaRightsManagement

public class XMPSchema
extends java.lang.Object

This class represents a metadata schema that can be stored in an XMP document. It handles all generic properties that are available. See subclasses for access to specific properties.

Version:
  $Revision: 1.8 $
Author:
  Ben Litchfield

Field Summary
`static java.lang.String` | `NS_NAMESPACE` The standard xmlns namespace.
`protected java.lang.String` | `prefix` The XML schema prefix.
`protected org.w3c.dom.Element` | `schema` The DOM representation of this object.

Constructor Summary
`XMPSchema(org.w3c.dom.Element element, java.lang.String aPrefix)` Create schema from an existing XML element.
`XMPSchema(XMPMetadata parent, java.lang.String namespaceName, java.lang.String namespaceURI)` Create a new blank schema that can be populated.

Method Summary
`void` | `addBagValue(java.lang.String bagName, java.lang.String bagValue)` Add an entry to a bag property.
`void` | `addSequenceDateValue(java.lang.String seqName, java.util.Calendar date)` Add a date sequence value to the list.
`void` | `addSequenceValue(java.lang.String seqName, Elementable seqValue)` Add a new value to a sequence property.
`void` | `addSequenceValue(java.lang.String seqName, java.lang.String seqValue)` Add a new value to a sequence property.
`java.lang.String` | `getAbout()` Get the RDF about attribute.
`java.util.List` | `getBagList(java.lang.String bagName)` Get all the values of the bag property.
`java.lang.Boolean` | `getBooleanProperty(java.lang.String propertyName)` Get the value of the property as a boolean.
`java.util.Calendar` | `getDateProperty(java.lang.String propertyName)` Get the value of the property as a date.
`org.w3c.dom.Element` | `getElement()` Get the XML element that is represented by this schema.
`java.util.List` | `getEventSequenceList(java.lang.String seqName)` Get a list of ResourceEvent objects.
`java.lang.Integer` | `getIntegerProperty(java.lang.String propertyName)` Get the value of the property as an integer.
`java.lang.String` | `getLanguageProperty(java.lang.String propertyName, java.lang.String language)` Get the value of a multi-lingual property.
`java.util.List` | `getLanguagePropertyLanguages(java.lang.String propertyName)` Get a list of all languages that are currently defined for a specific property.
`java.util.List` | `getSequenceDateList(java.lang.String seqName)` Get all the date values in a sequence property.
`java.util.List` | `getSequenceList(java.lang.String seqName)` Get all the values in a sequence property.
`java.lang.String` | `getTextProperty(java.lang.String propertyName)` Get the value of a simple text property.
`Thumbnail` | `getThumbnailProperty(java.lang.String propertyName, java.lang.String language)` Get the value of a multi-lingual property.
`void` | `merge(XMPSchema xmpSchema)` A basic schema merge, it merges bags and sequences and replace everything else.
`void` | `removeBagValue(java.lang.String bagName, java.lang.String bagValue)` Remove all matching entries with the given value from the bag.
`void` | `removeSequenceDateValue(java.lang.String seqName, java.util.Calendar date)` Remove a date sequence value from the list.
`void` | `removeSequenceValue(java.lang.String seqName, Elementable seqValue)` Remove a value from a sequence property.
`void` | `removeSequenceValue(java.lang.String seqName, java.lang.String seqValue)` Remove all matching values from a sequence property.
`void` | `setAbout(java.lang.String about)` Set the RDF 'about' attribute.
`void` | `setBooleanProperty(java.lang.String propertyName, java.lang.Boolean bool)` Set the value of the property as a boolean.
`void` | `setDateProperty(java.lang.String propertyName, java.util.Calendar date)` Set the value of the property as a date.
`void` | `setIntegerProperty(java.lang.String propertyName, java.lang.Integer intValue)` Set the value of the property as an integer.
`void` | `setLanguageProperty(java.lang.String propertyName, java.lang.String language, java.lang.String value)` Set the value of a multi-lingual property.
`void` | `setTextProperty(java.lang.String propertyName, java.lang.String propertyValue)` Set a simple text property on the schema.
`void` | `setThumbnailProperty(java.lang.String propertyName, java.lang.String language, Thumbnail value)` Set the value of a multi-lingual property.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### NS_NAMESPACE

    public static final java.lang.String NS_NAMESPACE

  The standard xmlns namespace.

  See Also:
    Constant Field Values

### prefix

    protected java.lang.String prefix

  The XML schema prefix.

### schema

    protected org.w3c.dom.Element schema

  The DOM representation of this object.

Constructor Detail

### XMPSchema

    public XMPSchema(XMPMetadata parent,
                     java.lang.String namespaceName,
                     java.lang.String namespaceURI)

  Create a new blank schema that can be populated.

Parameters:
  `parent` - The parent XMP document that this schema will be part of.
  `namespaceName` - The name of the namespace, ie pdf,dc,...
  `namespaceURI` - The URI of the namespace, ie "http://ns.adobe.com/pdf/1.3/"

### XMPSchema

    public XMPSchema(org.w3c.dom.Element element,
                     java.lang.String aPrefix)

  Create schema from an existing XML element.

Parameters:
  `element` - The existing XML element.
  `aPrefix` - The XML prefix.

Method Detail

### getElement

    public org.w3c.dom.Element getElement()

  Get the XML element that is represented by this schema.

  Returns:
    The root XML element of this schema.

### getAbout

    public java.lang.String getAbout()

  Get the RDF about attribute.

  Returns:
    The RDF 'about' attribute.

### setAbout

    public void setAbout(java.lang.String about)

  Set the RDF 'about' attribute. Passing in null will clear this attribute.

  Parameters:
    `about` - The new RFD about value.

### setTextProperty

    public void setTextProperty(java.lang.String propertyName,
                                java.lang.String propertyValue)

  Set a simple text property on the schema.

  Parameters:
    `propertyName` - The name of the property, it must contain the namespace prefix, ie "pdf:Keywords"
    `propertyValue` - The value for the property, can be any string. Passing null will remove the property.

### getTextProperty

    public java.lang.String getTextProperty(java.lang.String propertyName)

  Get the value of a simple text property.

  Parameters:
    `propertyName` - The name of the property to get, it must include the namespace prefix. ie "pdf:Keywords".
  Returns:
    The value of the text property or the null if there is no value.

### getDateProperty

    public java.util.Calendar getDateProperty(java.lang.String propertyName)
                                       throws java.io.IOException

  Get the value of the property as a date.

  Parameters:
    `propertyName` - The fully qualified property name for the date.
  Returns:
    The value of the property as a date.
  Throws:
    `java.io.IOException` - If there is an error converting the value to a date.

### setDateProperty

    public void setDateProperty(java.lang.String propertyName,
                                java.util.Calendar date)

  Set the value of the property as a date.

  Parameters:
    `propertyName` - The fully qualified property name for the date.
    `date` - The date to set, or null to clear.

### getBooleanProperty

    public java.lang.Boolean getBooleanProperty(java.lang.String propertyName)

  Get the value of the property as a boolean.

  Parameters:
    `propertyName` - The fully qualified property name for the boolean.
  Returns:
    The value of the property as a boolean.

### setBooleanProperty

    public void setBooleanProperty(java.lang.String propertyName,
                                   java.lang.Boolean bool)

  Set the value of the property as a boolean.

  Parameters:
    `propertyName` - The fully qualified property name for the boolean.
    `bool` - The boolean to set, or null to clear.

### getIntegerProperty

    public java.lang.Integer getIntegerProperty(java.lang.String propertyName)

  Get the value of the property as an integer.

  Parameters:
    `propertyName` - The fully qualified property name for the integer.
  Returns:
    The value of the property as an integer.

### setIntegerProperty

    public void setIntegerProperty(java.lang.String propertyName,
                                   java.lang.Integer intValue)

  Set the value of the property as an integer.

  Parameters:
    `propertyName` - The fully qualified property name for the integer.
    `intValue` - The int to set, or null to clear.

### removeBagValue

    public void removeBagValue(java.lang.String bagName,
                               java.lang.String bagValue)

  Remove all matching entries with the given value from the bag.

  Parameters:
    `bagName` - The name of the bag, it must include the namespace prefix. ie "pdf:Keywords".
    `bagValue` - The value to remove from the bagList.

### addBagValue

    public void addBagValue(java.lang.String bagName,
                            java.lang.String bagValue)

  Add an entry to a bag property.

  Parameters:
    `bagName` - The name of the bag, it must include the namespace prefix. ie "pdf:Keywords".
    `bagValue` - The value to add to the bagList.

### getBagList

    public java.util.List getBagList(java.lang.String bagName)

  Get all the values of the bag property. This will return a list of java.lang.String objects, this is a read-only list.

  Parameters:
    `bagName` - The name of the bag property to get, it must include the namespace prefix. ie "pdf:Keywords"
  Returns:
    All of the values of the bag property in a list.

### removeSequenceValue

    public void removeSequenceValue(java.lang.String seqName,
                                    java.lang.String seqValue)

  Remove all matching values from a sequence property.

  Parameters:
    `seqName` - The name of the sequence property. It must include the namespace prefix. ie "pdf:Keywords".
    `seqValue` - The value to remove from the list.

### removeSequenceValue

    public void removeSequenceValue(java.lang.String seqName,
                                    Elementable seqValue)

  Remove a value from a sequence property. This will remove all entries from the list.

  Parameters:
    `seqName` - The name of the sequence property. It must include the namespace prefix. ie "pdf:Keywords".
    `seqValue` - The value to remove from the list.

### addSequenceValue

    public void addSequenceValue(java.lang.String seqName,
                                 java.lang.String seqValue)

  Add a new value to a sequence property.

  Parameters:
    `seqName` - The name of the sequence property, it must include the namespace prefix. ie "pdf:Keywords"
    `seqValue` - The value to add to the sequence.

### addSequenceValue

    public void addSequenceValue(java.lang.String seqName,
                                 Elementable seqValue)

  Add a new value to a sequence property.

  Parameters:
    `seqName` - The name of the sequence property, it must include the namespace prefix. ie "pdf:Keywords"
    `seqValue` - The value to add to the sequence.

### getSequenceList

    public java.util.List getSequenceList(java.lang.String seqName)

  Get all the values in a sequence property.

  Parameters:
    `seqName` - The name of the sequence property, it must include the namespace prefix. ie "pdf:Keywords".
  Returns:
    A read-only list of java.lang.String objects or null if the property does not exist.

### getEventSequenceList

    public java.util.List getEventSequenceList(java.lang.String seqName)

  Get a list of ResourceEvent objects.

  Parameters:
    `seqName` - The name of the sequence to retrieve.
  Returns:
    A list of ResourceEvent objects or null if they do not exist.

### removeSequenceDateValue

    public void removeSequenceDateValue(java.lang.String seqName,
                                        java.util.Calendar date)

  Remove a date sequence value from the list.

  Parameters:
    `seqName` - The name of the sequence property, it must include the namespace prefix. ie "pdf:Keywords"
    `date` - The date to remove from the sequence property.

### addSequenceDateValue

    public void addSequenceDateValue(java.lang.String seqName,
                                     java.util.Calendar date)

  Add a date sequence value to the list.

  Parameters:
    `seqName` - The name of the sequence property, it must include the namespace prefix. ie "pdf:Keywords"
    `date` - The date to add to the sequence property.

### getSequenceDateList

    public java.util.List getSequenceDateList(java.lang.String seqName)
                                       throws java.io.IOException

  Get all the date values in a sequence property.

  Parameters:
    `seqName` - The name of the sequence property, it must include the namespace prefix. ie "pdf:Keywords".
  Returns:
    A read-only list of java.util.Calendar objects or null if the property does not exist.
  Throws:
    `java.io.IOException` - If there is an error converting the value to a date.

### setLanguageProperty

    public void setLanguageProperty(java.lang.String propertyName,
                                    java.lang.String language,
                                    java.lang.String value)

  Set the value of a multi-lingual property.

  Parameters:
    `propertyName` - The name of the property, it must include the namespace prefix. ie "pdf:Keywords"
    `language` - The language code of the value. If null then "x-default" is assumed.
    `value` - The value of the property in the specified language.

### getLanguageProperty

    public java.lang.String getLanguageProperty(java.lang.String propertyName,
                                                java.lang.String language)

  Get the value of a multi-lingual property.

  Parameters:
    `propertyName` - The name of the property, it must include the namespace prefix. ie "pdf:Keywords"
    `language` - The language code of the value. If null then "x-default" is assumed.
  Returns:
    The value of the language property.

### setThumbnailProperty

    public void setThumbnailProperty(java.lang.String propertyName,
                                     java.lang.String language,
                                     Thumbnail value)

  Set the value of a multi-lingual property.

  Parameters:
    `propertyName` - The name of the property, it must include the namespace prefix. ie "pdf:Keywords"
    `language` - The language code of the value. If null then "x-default" is assumed.
    `value` - The value of the property in the specified language.

### getThumbnailProperty

    public Thumbnail getThumbnailProperty(java.lang.String propertyName,
                                          java.lang.String language)

  Get the value of a multi-lingual property.

  Parameters:
    `propertyName` - The name of the property, it must include the namespace prefix. ie "pdf:Keywords"
    `language` - The language code of the value. If null then "x-default" is assumed.
  Returns:
    The value of the language property.

### getLanguagePropertyLanguages

    public java.util.List getLanguagePropertyLanguages(java.lang.String propertyName)

  Get a list of all languages that are currently defined for a specific property.

  Parameters:
    `propertyName` - The name of the property, it must include the namespace prefix. ie "pdf:Keywords"
  Returns:
    A list of all languages, this will return an non-null empty list if none have been defined.

### merge

    public void merge(XMPSchema xmpSchema)
               throws java.io.IOException

  A basic schema merge, it merges bags and sequences and replace everything else.

  Parameters:
    `xmpSchema` - The schema to merge.
  Throws:
    `java.io.IOException` - If there is an error during the merge.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD