XMP Toolkit SDK  6.0.0
AdobeXMPCore::ISimpleNode_v1 Class Referenceabstract

Version1 of the interface that represents a Simple Property Node of XMP DOM. More...

#include <ISimpleNode.h>

Inheritance diagram for AdobeXMPCore::ISimpleNode_v1:
AdobeXMPCore::INode_v1 AdobeXMPCommon::ISharedObject AdobeXMPCommon::IVersionable AdobeXMPCommon::IThreadSafe

Public Member Functions

virtual spcIUTF8String APICALL GetValue () const =0
 Gets the value of the simple property node. More...
 
virtual void APICALL SetValue (const char *value, sizet valueLength)=0
 Changes the value string of the simple property node. More...
 
virtual bool APICALL IsURIType () const =0
 Indicates whether the simple property node is of URI type. More...
 
virtual void APICALL SetURIType (bool isURI)=0
 Controls whether the type of simple property node should be of IsURI type or not. More...
 
- Public Member Functions inherited from AdobeXMPCore::INode_v1
virtual eNodeType APICALL GetNodeType () const =0
 Gets the node type of the node. More...
 
virtual eNodeType APICALL GetParentNodeType () const =0
 Gets the node type of the node's parent. More...
 
virtual void APICALL SetName (const char *name, sizet nameLength)=0
 Changes the local name of the node. More...
 
virtual spcIUTF8String APICALL GetName () const =0
 Gets the local name of the node. More...
 
virtual void APICALL SetNameSpace (const char *nameSpace, sizet nameSpaceLength)=0
 Changes the name space of the node. More...
 
virtual spcIUTF8String APICALL GetNameSpace () const =0
 Gets the name space of the node. More...
 
virtual spIPath APICALL GetPath () const =0
 Gets the path of the node from the root of the metadata. More...
 
virtual sizet APICALL QualifiersCount () const __NOTHROW__=0
 Gets the count of the qualifiers attached with the node. More...
 
virtual eNodeType APICALL GetQualifierNodeType (const char *nameSpace, sizet nameSpaceLength, const char *name, sizet nameLength) const =0
 Gets the type of the node's qualifier having specified namespace and name. More...
 
virtual void APICALL InsertQualifier (const spINode &node)=0
 Inserts a given qualifier node. More...
 
virtual spINode APICALL ReplaceQualifier (const spINode &node)=0
 Replaces a given qualifier node. More...
 
virtual spINode APICALL RemoveQualifier (const char *nameSpace, sizet nameSpaceLength, const char *name, sizet nameLength)=0
 Removes the qualifier node with the specified nameSpace and name. More...
 
virtual bool APICALL IsArrayItem () const =0
 Indicates whether the node is a direct child of an array node. More...
 
virtual bool APICALL IsQualifierNode () const =0
 Indicates whether the node is a qualifier node. More...
 
virtual sizet APICALL GetIndex () const =0
 Returns the index of the node in case it is an array item. More...
 
virtual bool APICALL HasQualifiers () const =0
 Indicates whether the node has any qualifiers associated with it. More...
 
virtual bool APICALL HasContent () const =0
 Returns whether the node has any content or not. return A bool value indicating the presence of contents in the node apart from qualifiers. More...
 
virtual bool APICALL IsEmpty () const =0
 Returns whether the node is empty. return A bool value indicating whether the contents and qualifiers of a node are empty. More...
 
virtual bool APICALL HasChanged () const =0
 Returns the status about any change done to the node or its children or qualifiers. returns a bool value indicating whether some changes have been performed on the node or its children or qualifiers. for a simple node, true will be returned in scenarios like when the node's value or qualifiers are modified. for an array node or a structure node, true will be returned in scenarios like when the node's children or the node's qualifiers are modified. More...
 
virtual void APICALL AcknowledgeChanges () const __NOTHROW__=0
 Acknowledges that changes for the node and its children and qualifiers have been taken care of. for a simple node, changes that will be acknowledged in scenarios like when the node's value or node's qualifiers were modified. for an array node or a structure node, changes will be acknowledged in scenarios like when the node's children were or the node's qualifiers were modified. More...
 
virtual void APICALL Clear (bool contents=true, bool qualifiers=true)=0
 Clear the contents of the node. More...
 
virtual spINode APICALL Clone (bool ignoreEmptyNodes=false, bool ignoreNodesWithOnlyQualifiers=false) const =0
 Virtual copy constructor. More...
 
XMP_PRIVATE spcINode GetParent () const
 Gets the parent node of the node. More...
 
virtual spINode APICALL GetParent ()=0
 
XMP_PRIVATE spcINodeIterator QualifiersIterator () const
 
virtual spINodeIterator APICALL QualifiersIterator ()=0
 
XMP_PRIVATE spcINode GetQualifier (const char *nameSpace, sizet nameSpaceLength, const char *name, sizet nameLength) const
 Gets the qualifier of the node having specified namespace and name. More...
 
virtual spINode APICALL GetQualifier (const char *nameSpace, sizet nameSpaceLength, const char *name, sizet nameLength)=0
 
XMP_PRIVATE spcISimpleNode GetSimpleQualifier (const char *nameSpace, sizet nameSpaceLength, const char *name, sizet nameLength) const
 Get the node's qualifier having specified name space and name as simple node. More...
 
XMP_PRIVATE spISimpleNode GetSimpleQualifier (const char *nameSpace, sizet nameSpaceLength, const char *name, sizet nameLength)
 
XMP_PRIVATE spcIStructureNode GetStructureQualifier (const char *nameSpace, sizet nameSpaceLength, const char *name, sizet nameLength) const
 Get the node's qualifier having specified name space and name as structure node. More...
 
XMP_PRIVATE spIStructureNode GetStructureQualifier (const char *nameSpace, sizet nameSpaceLength, const char *name, sizet nameLength)
 
XMP_PRIVATE spcIArrayNode GetArrayQualifier (const char *nameSpace, sizet nameSpaceLength, const char *name, sizet nameLength) const
 Get the node's qualifier having specified name space and name as an array node. More...
 
XMP_PRIVATE spIArrayNode GetArrayQualifier (const char *nameSpace, sizet nameSpaceLength, const char *name, sizet nameLength)
 
XMP_PRIVATE spcISimpleNode ConvertToSimpleNode () const
 Converts Node to a simple node, if possible. More...
 
virtual spISimpleNode APICALL ConvertToSimpleNode ()=0
 
XMP_PRIVATE spcIStructureNode ConvertToStructureNode () const
 Converts Node to a structure node type, if possible. More...
 
virtual spIStructureNode APICALL ConvertToStructureNode ()=0
 
XMP_PRIVATE spcIArrayNode ConvertToArrayNode () const
 Converts Node to an array node type, if possible. More...
 
virtual spIArrayNode APICALL ConvertToArrayNode ()=0
 
XMP_PRIVATE spcIMetadata ConvertToMetadata () const
 Converts Node to a metadata node type, if possible. More...
 
virtual spIMetadata APICALL ConvertToMetadata ()=0
 
- Public Member Functions inherited from AdobeXMPCommon::ISharedObject
virtual void APICALL Acquire () const __NOTHROW__=0
 Called by the clients of the object to indicate that he has acquired the shared ownership of the object. More...
 
virtual void APICALL Release () const __NOTHROW__=0
 Called by the clients of the object to indicate he has released his shared ownership of the object. If this being the last client than this function should call Destroy to delete and release the memory. More...
 
- Public Member Functions inherited from AdobeXMPCommon::IVersionable
template<typename requestedInterface >
XMP_PRIVATE requestedInterface * GetInterfacePointer ()
 Get the raw pointer to an interface object implementing the requested version. More...
 
template<typename requestedInterface >
const XMP_PRIVATE requestedInterface * GetInterfacePointer () const
 Get the raw pointer to a const interface object implementing the requested version. More...
 
- Public Member Functions inherited from AdobeXMPCommon::IThreadSafe
virtual void APICALL EnableThreadSafety () const __NOTHROW__=0
 Enables the thread safety on an object. More...
 
virtual void APICALL DisableThreadSafety () const __NOTHROW__=0
 Disables the thread safety on an object. More...
 
virtual bool APICALL IsThreadSafe () const =0
 Informs whether object can be used across multiple threads or not. More...
 

Static Public Member Functions

static XMP_PRIVATE spISimpleNode CreateSimpleNode (const char *nameSpace, sizet nameSpaceLength, const char *name, sizet nameLength, const char *value=NULL, sizet valueLength=AdobeXMPCommon::npos)
 Creates a simple property node which is not part of any metadata document. More...
 

Protected Member Functions

virtual ~ISimpleNode_v1 () __NOTHROW__
 
- Protected Member Functions inherited from AdobeXMPCore::INode_v1
virtual ~INode_v1 () __NOTHROW__
 
- Protected Member Functions inherited from AdobeXMPCommon::ISharedObject
virtual ~ISharedObject () __NOTHROW__=0
 
 REQ_FRIEND_CLASS_DECLARATION ()
 
- Protected Member Functions inherited from AdobeXMPCommon::IVersionable
virtual ~IVersionable ()
 
 REQ_FRIEND_CLASS_DECLARATION ()
 
- Protected Member Functions inherited from AdobeXMPCommon::IThreadSafe
 REQ_FRIEND_CLASS_DECLARATION ()
 

Additional Inherited Members

- Public Types inherited from AdobeXMPCore::INode_v1
enum  eNodeType {
  kNTNone = 0, kNTSimple = 1, kNTArray = 1 << 1, kNTStructure = 1 << 2,
  kNTAll = kAllBits
}
 Indicates various types of node available in XMP Data Model like simple, array and structure. More...
 

Detailed Description

Version1 of the interface that represents a Simple Property Node of XMP DOM.

Provides all the functions to get and set various properties of the simple node.

Attention
Support multi threading through locks but can be enabled/disabled by the client. By default every object created does not support multi-threading.

Definition at line 25 of file ISimpleNode.h.

Constructor & Destructor Documentation

◆ ~ISimpleNode_v1()

virtual AdobeXMPCore::ISimpleNode_v1::~ISimpleNode_v1 ( )
inlineprotectedvirtual

Destructor

Definition at line 135 of file ISimpleNode.h.

135 {}

Member Function Documentation

◆ CreateSimpleNode()

static XMP_PRIVATE spISimpleNode AdobeXMPCore::ISimpleNode_v1::CreateSimpleNode ( const char *  nameSpace,
sizet  nameSpaceLength,
const char *  name,
sizet  nameLength,
const char *  value = NULL,
sizet  valueLength = AdobeXMPCommon::npos 
)
static

Creates a simple property node which is not part of any metadata document.

Parameters
[in]nameSpacePointer to a constant char buffer containing name space URI of the simple node.
[in]nameSpaceLengthNumber of characters in nameSpace. In case nameSpace is null terminated set it to AdobeXMPCommon::npos.
[in]namePointer to a constant char buffer containing local name of the simple node.
[in]nameLengthNumber of characters in name. In case name is null terminated set it to AdobeXMPCommon::npos.
[in]valuePointer to a constant char buffer containing value of the simple node.
[in]valueLengthNumber of characters in value. In case name is null terminated set it to AdobeXMPCommon::npos.
Returns
A shared pointer to a AdobeXMPCore::ISimpleNode object.
Attention
Error is thrown in case
  • nameSpace or name are NULL pointers, or
  • their contents are empty.
Note
In case the value is a null pointer or its contents are empty than the value is set to empty string.

◆ GetValue()

virtual spcIUTF8String APICALL AdobeXMPCore::ISimpleNode_v1::GetValue ( ) const
pure virtual

Gets the value of the simple property node.

Returns
A shared pointer to const AdobeXMPCommon::IUTF8String object containing value string of the simple property node.

◆ IsURIType()

virtual bool APICALL AdobeXMPCore::ISimpleNode_v1::IsURIType ( ) const
pure virtual

Indicates whether the simple property node is of URI type.

Returns
A bool value; true in case the simple node is of URI type, false otherwise.

◆ SetURIType()

virtual void APICALL AdobeXMPCore::ISimpleNode_v1::SetURIType ( bool  isURI)
pure virtual

Controls whether the type of simple property node should be of IsURI type or not.

Parameters
[in]isURIA bool value controlling the IsURI type of the simple property node

◆ SetValue()

virtual void APICALL AdobeXMPCore::ISimpleNode_v1::SetValue ( const char *  value,
sizet  valueLength 
)
pure virtual

Changes the value string of the simple property node.

Parameters
[in]valuePointer to a constant char buffer containing value of the simple node.
[in]valueLengthNumber of characters in value. In case name is null terminated set it to AdobeXMPCommon::npos.
Note
In case the value is null pointer or its contents are empty than the value is set to empty string.

The documentation for this class was generated from the following file: