Package com.adobe.xmp.core
Interface XMPStruct
-
- All Known Subinterfaces:
XMPMetadata
,XMPQualifiers
public interface XMPStruct extends XMPNode
This represents a structure in the XMP tree. It has a number of child nodes that can be of any valid XMPNode type.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description XMPArray
copy(XMPArray array)
Creates a new XMPArray node and copies the whole tree of the provided array into the new nodeXMPSimple
copy(XMPSimple simple)
Creates a new XMPSimple node and copies the provided simple node with qualifiers into the new nodeXMPStruct
copy(XMPStruct struct)
Creates a new XMPStruct node and copies the whole tree of the provided struct into the new nodejava.lang.String
dump()
returns a human readable version of this node tree (recursive)XMPNode
get(XMPPath path)
Return the node of the given path, relative to this node.XMPNode
get(java.lang.String namespace, java.lang.String name)
Return a child node as base node (without specifing the exact type)XMPArray
getArray(XMPPath path)
Returns an array from the given path, relative to this node.XMPArray
getArray(java.lang.String namespace, java.lang.String name)
Returns a child node as an arrayXMPLanguageAlternative
getLanguageAlternative(XMPPath path)
Returns a language Alternative from the given path, relative to this node.XMPLanguageAlternative
getLanguageAlternative(java.lang.String namespace, java.lang.String name)
Returns a child node as a language Alternativejava.util.Iterator<XMPNode>
getNamespaceProperties(java.lang.String namespace)
Returns an iterator which iterates over all properties in this struct that belong to the specified namespaceXMPSimple
getSimple(XMPPath path)
Returns a simple property from the given path, relative to this node.XMPSimple
getSimple(java.lang.String namespace, java.lang.String name)
Returns a child node as a simple propertyXMPStruct
getStruct(XMPPath path)
Returns a struct property from the given path, relative to this node.XMPStruct
getStruct(java.lang.String namespace, java.lang.String name)
Returns a child node as a nested structjava.util.Set<java.lang.String>
getUsedNamespaces()
Returns an immutable set of namespaces of properties in this struct.XMPPath
getXMPPath()
Return the path of this XMPNodeXMPNode
remove(XMPPath path)
Remove a node at a given path, relative to this nodeXMPNode
remove(java.lang.String namespace, java.lang.String name)
Remove a child from the structvoid
renameField(java.lang.String namespace, java.lang.String name, java.lang.String newNamespace, java.lang.String newName)
Renames an existing child node.XMPArray
setArray(java.lang.String namespace, java.lang.String name, XMPArray.Form form)
Create a new child node as an empty array with a certain form (ordered, unordered, alternative)XMPLanguageAlternative
setLanguageAlternative(java.lang.String namespace, java.lang.String name)
Create a new child node as an empty Language AlternativeXMPSimple
setSimple(java.lang.String namespace, java.lang.String name, java.lang.String value)
Create a new child node as a simple propertyXMPStruct
setStruct(java.lang.String namespace, java.lang.String name)
Create a new child node as a nested empty struct-
Methods inherited from interface com.adobe.xmp.core.XMPNode
accept, accessQualifiers, adaptTo, copyReplace, getName, getNamespace, getParent, hasQualifiers, isArrayItem, iterator, size
-
-
-
-
Method Detail
-
setSimple
XMPSimple setSimple(java.lang.String namespace, java.lang.String name, java.lang.String value)
Create a new child node as a simple property- Parameters:
namespace
- the namespace of the new childname
- the name of the new childvalue
- the value of the new child- Returns:
- the newly created child
- Throws:
java.lang.IllegalArgumentException
- If name is not valid as per XML Spec or namespace equals http://www.w3.org/1999/02/22-rdf-syntax-ns#
-
setStruct
XMPStruct setStruct(java.lang.String namespace, java.lang.String name)
Create a new child node as a nested empty struct- Parameters:
namespace
- the namespace of the new childname
- the name of the new child- Returns:
- the newly created child as an empty struct
- Throws:
java.lang.IllegalArgumentException
- If name is not valid as per XML Spec or namespace equals http://www.w3.org/1999/02/22-rdf-syntax-ns#
-
setArray
XMPArray setArray(java.lang.String namespace, java.lang.String name, XMPArray.Form form)
Create a new child node as an empty array with a certain form (ordered, unordered, alternative)- Parameters:
namespace
- the namespace of the new childname
- the name of the new childform
- the array form of the new child- Returns:
- the newly created child as an empty XMPArray with a certain form
- Throws:
java.lang.IllegalArgumentException
- If name is not valid as per XML Spec or namespace equals http://www.w3.org/1999/02/22-rdf-syntax-ns#
-
setLanguageAlternative
XMPLanguageAlternative setLanguageAlternative(java.lang.String namespace, java.lang.String name)
Create a new child node as an empty Language Alternative- Parameters:
namespace
- the namespace of the new childname
- the name of the new child- Returns:
- the newly created child as an empty XMPArray of a certain type
- Throws:
java.lang.IllegalArgumentException
- If name is not valid as per XML Spec or namespace equals http://www.w3.org/1999/02/22-rdf-syntax-ns#
-
get
XMPNode get(java.lang.String namespace, java.lang.String name)
Return a child node as base node (without specifing the exact type)- Parameters:
namespace
- the namespace of the child to returnname
- the name of the child to return- Returns:
- the desired child node or null if there in none with this name
-
remove
XMPNode remove(java.lang.String namespace, java.lang.String name)
Remove a child from the struct- Parameters:
namespace
- the namespace of the child to removename
- the name of the child to remove- Returns:
- the node that was returned of null if there was no child to remove
-
getSimple
XMPSimple getSimple(java.lang.String namespace, java.lang.String name)
Returns a child node as a simple property- Parameters:
namespace
- the namespace of childname
- the name of the child- Returns:
- the child node or null if there in none with this name or type
-
getStruct
XMPStruct getStruct(java.lang.String namespace, java.lang.String name)
Returns a child node as a nested struct- Parameters:
namespace
- the namespace of childname
- the name of the child- Returns:
- the child node or null if there in none with this name or type
-
getArray
XMPArray getArray(java.lang.String namespace, java.lang.String name)
Returns a child node as an array- Parameters:
namespace
- the namespace of childname
- the name of the child- Returns:
- the child node or null if there in none with this name or type
-
getLanguageAlternative
XMPLanguageAlternative getLanguageAlternative(java.lang.String namespace, java.lang.String name)
Returns a child node as a language Alternative- Parameters:
namespace
- the namespace of childname
- the name of the child- Returns:
- the child node or null if there in none with this name or type
-
renameField
void renameField(java.lang.String namespace, java.lang.String name, java.lang.String newNamespace, java.lang.String newName)
Renames an existing child node.- Parameters:
namespace
- the namespace of child which is to be renamedname
- the name of child which is to be renamednewNamespace
- new namespace of the child nodenewName
- new name of the child node- Throws:
java.lang.IllegalArgumentException
- If name is not valid as per XML Spec or namespace equals http://www.w3.org/1999/02/22-rdf-syntax-ns#
-
getNamespaceProperties
java.util.Iterator<XMPNode> getNamespaceProperties(java.lang.String namespace)
Returns an iterator which iterates over all properties in this struct that belong to the specified namespace- Parameters:
namespace
- the namespace- Returns:
- Iterator which iterate over list of
XMPNode
-
getUsedNamespaces
java.util.Set<java.lang.String> getUsedNamespaces()
Returns an immutable set of namespaces of properties in this struct.- Returns:
- Returns an immutable Set of namespace strings.
-
copy
XMPSimple copy(XMPSimple simple)
Creates a new XMPSimple node and copies the provided simple node with qualifiers into the new node- Parameters:
simple
- the simple node to copy- Returns:
- the newly created simple node
-
copy
XMPStruct copy(XMPStruct struct)
Creates a new XMPStruct node and copies the whole tree of the provided struct into the new node- Parameters:
struct
- the Struct to copy- Returns:
- the newly created struct node
-
copy
XMPArray copy(XMPArray array)
Creates a new XMPArray node and copies the whole tree of the provided array into the new node- Parameters:
array
- the array to copy- Returns:
- the newly created array node
-
getXMPPath
XMPPath getXMPPath()
Return the path of this XMPNode- Returns:
- the path of this XMPNode
-
get
XMPNode get(XMPPath path)
Return the node of the given path, relative to this node.- Parameters:
path
- the path to the desired node relative to this node- Returns:
- the node at the path position or null if it could not be found
-
remove
XMPNode remove(XMPPath path) throws XMPException
Remove a node at a given path, relative to this node- Parameters:
path
- the path to the node that shall be deleted- Returns:
- the removed node or null, if nothing is removed
- Throws:
XMPException
- throws in case the remove path points to an xml:lang qualifier of a Language Alternative
-
getSimple
XMPSimple getSimple(XMPPath path)
Returns a simple property from the given path, relative to this node.- Parameters:
path
- the path to the simple property, relative to this node.- Returns:
- the desired simple property or null if there was none (or the type is different)
-
getStruct
XMPStruct getStruct(XMPPath path)
Returns a struct property from the given path, relative to this node.- Parameters:
path
- the path to the struct property, relative to this node.- Returns:
- the desired struct property or null if there was none (or the type is different)
-
getArray
XMPArray getArray(XMPPath path)
Returns an array from the given path, relative to this node.- Parameters:
path
- the path to the array, relative to this node.- Returns:
- the desired array or null if there was none (or the type is different)
-
getLanguageAlternative
XMPLanguageAlternative getLanguageAlternative(XMPPath path)
Returns a language Alternative from the given path, relative to this node.- Parameters:
path
- the path to the langAlt, relative to this node.- Returns:
- the desired langAlt or null if there was none (or the type is different)
-
dump
java.lang.String dump()
returns a human readable version of this node tree (recursive)- Returns:
- returns a human readable version of this node tree (recursive)
-
-