SourceForge.net Logo
Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

PmtElement Class Reference

The PmtElement class is the base class for handling multiple occurance of a metadata instance. More...

#include <PmtElement.h>

Inheritance diagram for PmtElement:

[legend]
Collaboration diagram for PmtElement:
[legend]
List of all members.

Public Methods

 PmtElement (const PmtKeyType &fullKey, int minOccurs, int maxOccurs, SPmtString nillable)
 PmtElement (const PmtElement &orig)
virtual ~PmtElement ()
const unsigned int & minOccurs () const
unsigned int & minOccurs ()
const unsigned int & maxOccurs () const
unsigned int & maxOccurs ()
SPmtString & getNillable ()
virtual PmtMetadataPtr getMetadatum (unsigned int occurNum, bool createMetadataIfNotExists, const PmtCompositeMetadata *parent=NULL)=0
virtual void deleteMetadatum (int occurNum)=0
virtual void deleteMetadataAll ()=0
virtual unsigned int getWildcardMax ()=0
virtual bool isEmpty ()=0
virtual PmtElementPtr clone (PmtCompositeMetadata *parentMd) const=0
virtual ostream & printDerived (ostream &c) const=0
virtual void accept (PmtMetadataVisitor *visitor)=0
virtual void accept (PmtMdVisitorImpl *visitor)=0
virtual void show (bool showObjectMemoryPointers=false, int level=0) const=0

Static Public Methods

PmtElementPtr create (const PmtKeyType &fullKeyPath, const SPmtString &minOccurs, const SPmtString &maxOccurs, const SPmtString &nillable)

Protected Methods

PmtKeyType allButRootPath ()
PmtMetadataPtr createFromFactoryAndSetParentAndOccurrence (const PmtCompositeMetadata *parent, int occurNum)
 PmtElement ()
PmtElement & operator= (const PmtElement &orig)

Protected Attributes

PmtKeyType mFullKeyPath
unsigned int mMinOccurs
unsigned int mMaxOccurs
SPmtString mNillable

Detailed Description

The PmtElement class is the base class for handling multiple occurance of a metadata instance.

The metadata declaration construct, <element>, allows for the specification of the expected occurance of a metadata instance. This is specificed through its minOccurs and maxOccurs attributes. The PmtElement class and its derivitives provide the run-time functionality for this specification. These classes are intended to be used by the PmtModelGroup and PmtCompositeMetadata classes in the repesective metadata containers.


Constructor & Destructor Documentation

PmtElement::PmtElement (  const PmtKeyType &    fullKey,
int    minOccurs,
int    maxOccurs,
SPmtString    nillable
)  [inline]
 

PmtElement::PmtElement (  const PmtElement &    orig )  [inline]
 

virtual PmtElement::~PmtElement (    )  [inline, virtual]
 

PmtElement::PmtElement (    )  [inline, protected]
 


Member Function Documentation

virtual void PmtElement::accept (  PmtMdVisitorImpl *    visitor )  [pure virtual]
 

Implemented in PmtVectorElement.

virtual void PmtElement::accept (  PmtMetadataVisitor *    visitor )  [pure virtual]
 

Implemented in PmtVectorElement.

PmtKeyType PmtElement::allButRootPath (    )  [protected]
 

virtual PmtElementPtr PmtElement::clone (  PmtCompositeMetadata *    parentMd )  const [pure virtual]
 

Implemented in PmtVectorElement.

PmtElementPtr PmtElement::create (  const PmtKeyType &    fullKeyPath,
const SPmtString &    minOccurs,
const SPmtString &    maxOccurs,
const SPmtString &    nillable
)  [static]
 

PmtMetadataPtr PmtElement::createFromFactoryAndSetParentAndOccurrence (  const PmtCompositeMetadata *    parent,
int    occurNum
)  [protected]
 

virtual void PmtElement::deleteMetadataAll (    )  [pure virtual]
 

Implemented in PmtVectorElement.

virtual void PmtElement::deleteMetadatum (  int    occurNum )  [pure virtual]
 

Implemented in PmtVectorElement.

virtual PmtMetadataPtr PmtElement::getMetadatum (  unsigned int    occurNum,
bool    createMetadataIfNotExists,
const PmtCompositeMetadata *    parent = NULL
)  [pure virtual]
 

Implemented in PmtVectorElement.

SPmtString& PmtElement::getNillable (    )  [inline]
 

virtual unsigned int PmtElement::getWildcardMax (    )  [pure virtual]
 

Implemented in PmtVectorElement.

virtual bool PmtElement::isEmpty (    )  [pure virtual]
 

Implemented in PmtVectorElement.

unsigned int& PmtElement::maxOccurs (    )  [inline]
 

const unsigned int& PmtElement::maxOccurs (    )  const [inline]
 

unsigned int& PmtElement::minOccurs (    )  [inline]
 

const unsigned int& PmtElement::minOccurs (    )  const [inline]
 

PmtElement& PmtElement::operator= (  const PmtElement &    orig )  [inline, protected]
 

virtual ostream& PmtElement::printDerived (  ostream &    c )  const [pure virtual]
 

Implemented in PmtVectorElement.

virtual void PmtElement::show (  bool    showObjectMemoryPointers = false,
int    level = 0
)  const [pure virtual]
 

Implemented in PmtVectorElement.


Member Data Documentation

PmtKeyType PmtElement::mFullKeyPath [protected]
 

unsigned int PmtElement::mMaxOccurs [protected]
 

unsigned int PmtElement::mMinOccurs [protected]
 

SPmtString PmtElement::mNillable [protected]
 


The documentation for this class was generated from the following files:
Last Updated: March 12, 2003 (rlr)
Copyright © 2003 Eastman Kodak Company All Rights Reserved.