sdObject Class Reference

Inheritance diagram for sdObject:

sdBase


Public Methods

 sdObject (unsigned int id, const std::string &name, const std::string &description, bool concrete, sdNameSpace *nameSpace, const ObjectVector &superObjects)
virtual ~sdObject ()
unsigned int getId () const
const std::string & getName () const
const std::string & getDescription () const
bool isConcrete () const
const sdAttributegetIdentifier () const
ObjectConstIter beginSuperObject () const
ObjectConstIter endSuperObject () const
ObjectConstIter beginSubObject () const
ObjectConstIter endSubObject () const
sdObjectAttributeIter beginAttribute (bool local) const
sdObjectAttributeIter endAttribute (bool local) const
sdObjectRelationshipIter beginRelationship (bool local) const
sdObjectRelationshipIter endRelationship (bool local) const
virtual void accept (sdVisitor *visitor)

Public Types

typedef std::vector< const sdObject * > ObjectVector
typedef ObjectVector::const_iterator ObjectConstIter

Friends

class sdAttribute
class sdRelationship
class sdRelationshipSet
class sdObjectAttributeIter
class sdObjectRelationshipIter
class sdNameSpace

Detailed Description

The sdObject class provides the schema definition of a class. An object's schema definition includes its attributes and relationships.


Member Typedef Documentation

typedef ObjectVector::const_iterator sdObject::ObjectConstIter
 

typedef std::vector<const sdObject*> sdObject::ObjectVector
 


Constructor & Destructor Documentation

sdObject::sdObject unsigned int    id,
const std::string &    name,
const std::string &    description,
bool    concrete,
sdNameSpace *    nameSpace,
const ObjectVector &    superObjects
 

This is the sdObject constructor.

Parameters:
id The ID number for the sdObject.
name The name for the sdObject.
description The description for the sdObject.
concrete Boolean flag that indicates whether the class this object defines is concrete (true) or abstract (false).
nameSpace The namespace for the sdObject.
superObjects The sdObjects that define the classes that are the base classes of the class this object defines.

sdObject::~sdObject   [virtual]
 

This is the sdObject destructor.


Member Function Documentation

void sdObject::accept sdVisitor *    visitor [virtual]
 

This function calls the visit function of the specified visitor on the object.

Parameters:
visitor A pointer to the visitor to call.

Implements sdBase.

sdObjectAtributeIter sdObject::beginAttribute bool    local const
 

This function returns the constant iterator that points to the first attribute of this sdObject. The local argument controls whether the attributes from super objects are produced by the iterator.

Parameters:
local A boolean that specifies whether or not the attributes of the super objects are produced by this iterator. If local is set to false, the attributes for super objects are returned.

sdObjectRelationshipIter sdObject::beginRelationship bool    local const
 

This function returns the constant iterator that points to the first relationship on the sdObject. The local argument controls whether the relationships from super objects are produced by the iterator.

Parameters:
local A boolean that specifies whether or not the relationships of the super objects are produced by this iterator. If local is set to false, the relationships for super objects are returned.

ObjectConstIter sdObject::beginSubObject   const
 

This function returns the constant iterator that points to the first sub object of this sdObject. A sub object is an sdObject whose class inherits from the class this sdObject defines.

ObjectConstIter sdObject::beginSuperObject   const
 

This function returns the contant iterator that points to the first super object of this sdObject. A super object is an sdObject that defines the class from which this sdObject inherits.

sdObjectAtributeIter sdObject::endAttribute bool    local const
 

This function returns the constant iterator that points to the last attribute of this sdObject. The local argument controls whether the attributes from super objects are produced by the iterator.

Parameters:
local A boolean that specifies whether or not the attributes of the super objects are produced by this iterator. If local is set to false, the attributes for super objects are returned.

sdObjectRelationshipIter sdObject::endRelationship bool    local const
 

This function returns the constant iterator that points to the last relationship on the sdObject. The local argument controls whether the relationships from super objects are produced by the iterator.

Parameters:
local A boolean that specifies whether or not the relationships of the super objects are produced by this iterator. If local is set to false, the relationships for super objects are returned.

ObjectConstIter sdObject::endSubObject   const
 

This function returns the constant iterator that points to the last sub object of this sdObject. A sub object is an sdObject whose class inherits from the class this sdObject defines.

ObjectConstIter sdObject::endSuperObject   const
 

This function returns the constant iterator that points to the last super object of this sdObject. A super object is an sdObject that defines the class from which this sdObject inherits.

const std::string & sdObject::getDescription   const
 

This function returns the description of this schema object.

unsigned int sdObject::getId   const
 

This function returns the ID of this schema object.

const sdAttribute * sdObject::getIdentifier   const
 

This function returns the identifier of this schema object.

const std::string * sdObject::getName   const
 

This function returns the name of this schema object.

bool sdObject::isConcrete   const
 

This function returns a boolean that indicates whether or not this schema object is concrete.


Friends And Related Function Documentation

friend class sdAttribute [friend]
 

friend class sdNameSpace [friend]
 

friend class sdObjectAttributeIter [friend]
 

friend class sdObjectRelationshipIter [friend]
 

friend class sdRelationship [friend]
 

friend class sdRelationshipSet [friend]
 


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

Return to top of page