FDO API Reference Feature Data Objects
Main Page | Modules | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

FdoClassDefinition Class Reference

#include <ClassDefinition.h>

Inherits FdoSchemaElement.

Inherited by FdoClass, FdoFeatureClass, FdoNetworkClass, FdoNetworkLayerClass, and FdoTopology.

Inheritance diagram for FdoClassDefinition:

[legend]
List of all members.

Detailed Description

FdoClassDefinition is an abstract class that derives from FdoSchemaElement. FdoClassDefinition is a base class for all concrete class types (e.g., FdoClass, FdoFeatureClass) in the Schema package.

Definition at line 43 of file ClassDefinition.h.


Public Member Functions

virtual void _writeXml (FdoSchemaXmlContext *pContext)
 Serialize this class to XML.
void _writeXmlBaseProperties (FdoSchemaXmlContext *pContext)
 Just write base properties, don't wrap them.
virtual void CheckReferences (FdoSchemaMergeContext *pContext)
FDO_API FdoClassDefinitionGetBaseClass ()
 Gets the base FdoClassDefinition this class is derived from.
FDO_API FdoReadOnlyDataPropertyDefinitionCollectionGetBaseIdentityProperties ()
 Returns an FdoReadOnlyDataPropertyDefinitionCollection containing the identity properties for the base class.
FDO_API FdoReadOnlyPropertyDefinitionCollectionGetBaseProperties ()
 Returns an FdoReadOnlyPropertyDefinitionCollection containing the properties defined by base classes or by the concrete class type, itself. This collection is only populated when the FdoClassDefinition is returned by the DescribeSchema command.
FDO_API FdoClassCapabilitiesGetCapabilities ()
 Gets the class-specific capabilities for this class.
virtual FDO_API FdoClassType GetClassType ()
 This is an abstract operation that must be implemented by derived classes to return the concrete class type.
FDO_API FdoDataPropertyDefinitionCollectionGetIdentityProperties ()
 Returns an FdoDataPropertyDefinitionCollection containing references to the data properties that can be used to uniquely identify instances of the class. The contained properties must already be defined in either the properties or baseProperties collection. If GetBaseClass() returns non null then this collection must be empty.
FDO_API bool GetIsAbstract ()
 Gets the abstraction state of the FdoClassDefinition. Classes marked as abstract cannot be created via FDO commands and cannot be used as properties of another class.
FDO_API bool GetIsComputed ()
 Gets the computed state of the FdoClassDefinition. Computed classes cannot be made persistent or added to FDO schema. The computed classes are used as a transient classes that can be returned by a feature or data reader. They describe the result of a select expression, select function and select distinct.
FDO_API FdoPropertyDefinitionCollectionGetProperties ()
 Returns an FdoPropertyCollection containing the FdoDataProperties, FdoClassProperties, and FdoGeometricProperties defined for this class.
virtual FDO_API FdoStringP GetQualifiedName ()
 Gets the fully qualified name of this class.
FDO_API FdoUniqueConstraintCollectionGetUniqueConstraints ()
 Gets a FdoUniqueConstraintCollection containing all unique constraints applied to properties of this class. The contained properties must already be defined in either the properties or baseProperties collections.
virtual void InitFromXml (FdoSchemaXmlContext *pContext, FdoXmlAttributeCollection *attrs)
 Initialize this property from its XML attributes.
virtual void InitFromXml (const FdoString *classTypeName, FdoSchemaXmlContext *pContext, FdoXmlAttributeCollection *attrs)
 Initialize the class from its XML attributes.
virtual void Set (FdoClassDefinition *pClass, FdoSchemaMergeContext *pContext)
 DOXYGEN-IGNORE
FDO_API void SetBaseClass (FdoClassDefinition *value)
 Sets the base FdoClassDefinition this class is derived from.
FDO_API void SetBaseProperties (FdoPropertyDefinitionCollection *value)
 Sets the base properties of this class. All elements of the input collection must also be properties of the class.
FDO_API void SetCapabilities (FdoClassCapabilities *capabilities)
 Sets the class-specific capabilities for this class. This function must only be called by an FDO Provider. It would be typically called by the DescribeSchema command implementation.
FDO_API void SetIsAbstract (bool value)
 Sets the abstraction state of the FdoClassDefinition. Classes marked as abstract cannot be created via FDO commands and cannot be used as properties of another class.
FDO_API void SetIsComputed (bool value)
 Sets the computed state of the FdoClassDefinition. This is an internal method that can only be called by providers. Application should not use this method.
void writeXmlBaseProperties (FdoSchemaXmlContext *pContext)
 Wrap base properties in <baseproperties> element.
virtual FdoBoolean XmlEndElement (FdoXmlSaxContext *context, FdoString *uri, FdoString *name, FdoString *qname)
 Element end.
virtual FdoXmlSaxHandlerXmlStartElement (FdoXmlSaxContext *context, FdoString *uri, FdoString *name, FdoString *qname, FdoXmlAttributeCollection *atts)

Protected Member Functions

virtual void _AcceptChanges ()
virtual void _BeginChangeProcessing ()
virtual void _EndChangeProcessing ()
virtual void _RejectChanges ()
virtual void _StartChanges ()
 FdoFeatureSchema::RejectChanges() support.
 FdoClassDefinition (FdoString *name, FdoString *description)
 FdoClassDefinition ()
 Constructs a default instance of a ClassDefinition.
virtual bool IsProperty (const FdoPropertyDefinition *property)
 Is this a property of this element?
virtual bool IsSubClass ()
 Does this class have a base class?
virtual void PropertyRemoved (const FdoPropertyDefinition *property)
 Notification method called whenever a property of this element is removed.
virtual ~FdoClassDefinition ()

Protected Attributes

FdoClassDefinitionm_baseClassCHANGED
FdoReadOnlyPropertyDefinitionCollectionm_basePropertiesCHANGED
bool m_isAbstractCHANGED
FdoUniqueConstraintCollectionm_uniqueConstraintsCHANGED

Friends

class FdoObjectPropertyDefinition
class FdoRelation
class FdoRelationEnd
class FdoSchemaCollection

Constructor & Destructor Documentation

FdoClassDefinition::FdoClassDefinition  )  [protected]
 

Constructs a default instance of a ClassDefinition.

FdoClassDefinition::FdoClassDefinition FdoString name,
FdoString description
[protected]
 

Constructs an instance of a ClassDefinition using the specified arguments.

virtual FdoClassDefinition::~FdoClassDefinition  )  [protected, virtual]
 


Member Function Documentation

virtual void FdoClassDefinition::_AcceptChanges  )  [protected, virtual]
 

Reimplemented from FdoSchemaElement.

Reimplemented in FdoFeatureClass, FdoNetworkClass, FdoNetworkFeatureClass, FdoNetworkLayerClass, FdoNetworkLinkFeatureClass, FdoNetworkNodeFeatureClass, and FdoTopology.

virtual void FdoClassDefinition::_BeginChangeProcessing  )  [protected, virtual]
 

Reimplemented from FdoSchemaElement.

Reimplemented in FdoFeatureClass, FdoNetworkClass, FdoNetworkFeatureClass, FdoNetworkLayerClass, FdoNetworkLinkFeatureClass, FdoNetworkNodeFeatureClass, and FdoTopology.

virtual void FdoClassDefinition::_EndChangeProcessing  )  [protected, virtual]
 

Reimplemented from FdoSchemaElement.

Reimplemented in FdoFeatureClass, FdoNetworkClass, FdoNetworkFeatureClass, FdoNetworkLayerClass, FdoNetworkLinkFeatureClass, FdoNetworkNodeFeatureClass, and FdoTopology.

virtual void FdoClassDefinition::_RejectChanges  )  [protected, virtual]
 

Reimplemented from FdoSchemaElement.

Reimplemented in FdoFeatureClass, FdoNetworkClass, FdoNetworkFeatureClass, FdoNetworkLayerClass, FdoNetworkLinkFeatureClass, FdoNetworkNodeFeatureClass, and FdoTopology.

virtual void FdoClassDefinition::_StartChanges  )  [protected, virtual]
 

FdoFeatureSchema::RejectChanges() support.

Reimplemented from FdoSchemaElement.

Reimplemented in FdoFeatureClass, FdoNetworkClass, FdoNetworkFeatureClass, FdoNetworkLayerClass, FdoNetworkLinkFeatureClass, FdoNetworkNodeFeatureClass, and FdoTopology.

virtual void FdoClassDefinition::_writeXml FdoSchemaXmlContext *  pContext  )  [virtual]
 

Serialize this class to XML.

Reimplemented from FdoSchemaElement.

Reimplemented in FdoClass, FdoFeatureClass, FdoNetworkClass, FdoNetworkFeatureClass, FdoNetworkLayerClass, FdoNetworkLinkFeatureClass, and FdoNetworkNodeFeatureClass.

void FdoClassDefinition::_writeXmlBaseProperties FdoSchemaXmlContext *  pContext  ) 
 

Just write base properties, don't wrap them.

virtual void FdoClassDefinition::CheckReferences FdoSchemaMergeContext pContext  )  [virtual]
 

Reimplemented from FdoSchemaElement.

Reimplemented in FdoFeatureClass, FdoNetworkClass, FdoNetworkFeatureClass, FdoNetworkLinkFeatureClass, and FdoNetworkNodeFeatureClass.

FDO_API FdoClassDefinition* FdoClassDefinition::GetBaseClass  ) 
 

Gets the base FdoClassDefinition this class is derived from.

Returns:
Returns the base FdoClassDefinition

FDO_API FdoReadOnlyDataPropertyDefinitionCollection* FdoClassDefinition::GetBaseIdentityProperties  ) 
 

Returns an FdoReadOnlyDataPropertyDefinitionCollection containing the identity properties for the base class.

Returns:
Returns ReadOnlyDataPropertyDefinitionCollection

FDO_API FdoReadOnlyPropertyDefinitionCollection* FdoClassDefinition::GetBaseProperties  ) 
 

Returns an FdoReadOnlyPropertyDefinitionCollection containing the properties defined by base classes or by the concrete class type, itself. This collection is only populated when the FdoClassDefinition is returned by the DescribeSchema command.

Returns:
Returns FdoReadOnlyPropertyDefinitionCollection

FDO_API FdoClassCapabilities* FdoClassDefinition::GetCapabilities  ) 
 

Gets the class-specific capabilities for this class.

Returns:
Returns the capabilities. The Class Capabilities are connection datastore dependent so they are only defined when this object was created by a DescribeSchema command. The returned capabilities are the ones for this command's connection. Returns NULL if this object was not created by a DescribeSchema command.

virtual FDO_API FdoClassType FdoClassDefinition::GetClassType  )  [virtual]
 

This is an abstract operation that must be implemented by derived classes to return the concrete class type.

Returns:
Returns FdoClassType

Reimplemented in FdoClass, FdoFeatureClass, FdoNetworkClass, FdoNetworkLayerClass, FdoNetworkLinkFeatureClass, and FdoNetworkNodeFeatureClass.

FDO_API FdoDataPropertyDefinitionCollection* FdoClassDefinition::GetIdentityProperties  ) 
 

Returns an FdoDataPropertyDefinitionCollection containing references to the data properties that can be used to uniquely identify instances of the class. The contained properties must already be defined in either the properties or baseProperties collection. If GetBaseClass() returns non null then this collection must be empty.

Returns:
Returns DataPropertyDefinitionCollection

FDO_API bool FdoClassDefinition::GetIsAbstract  ) 
 

Gets the abstraction state of the FdoClassDefinition. Classes marked as abstract cannot be created via FDO commands and cannot be used as properties of another class.

Returns:
Returns if the FdoClassDefinition is abstract

FDO_API bool FdoClassDefinition::GetIsComputed  ) 
 

Gets the computed state of the FdoClassDefinition. Computed classes cannot be made persistent or added to FDO schema. The computed classes are used as a transient classes that can be returned by a feature or data reader. They describe the result of a select expression, select function and select distinct.

Returns:
Returns if the FdoClassDefinition is a computed class

FDO_API FdoPropertyDefinitionCollection* FdoClassDefinition::GetProperties  ) 
 

Returns an FdoPropertyCollection containing the FdoDataProperties, FdoClassProperties, and FdoGeometricProperties defined for this class.

Returns:
Returns FdoPropertyDefinitionCollection

virtual FDO_API FdoStringP FdoClassDefinition::GetQualifiedName  )  [virtual]
 

Gets the fully qualified name of this class.

Returns:
Returns {schema_name}:{class_name}

Reimplemented from FdoSchemaElement.

FDO_API FdoUniqueConstraintCollection* FdoClassDefinition::GetUniqueConstraints  ) 
 

Gets a FdoUniqueConstraintCollection containing all unique constraints applied to properties of this class. The contained properties must already be defined in either the properties or baseProperties collections.

Returns:
A FdoUniqueConstraintCollection containing all unique constraints defined for properties of this class.

virtual void FdoClassDefinition::InitFromXml FdoSchemaXmlContext *  pContext,
FdoXmlAttributeCollection attrs
[virtual]
 

Initialize this property from its XML attributes.

Reimplemented from FdoSchemaElement.

Reimplemented in FdoNetworkFeatureClass.

virtual void FdoClassDefinition::InitFromXml const FdoString classTypeName,
FdoSchemaXmlContext *  pContext,
FdoXmlAttributeCollection attrs
[virtual]
 

Initialize the class from its XML attributes.

Reimplemented in FdoClass, FdoFeatureClass, FdoNetworkClass, FdoNetworkLayerClass, FdoNetworkLinkFeatureClass, and FdoNetworkNodeFeatureClass.

virtual bool FdoClassDefinition::IsProperty const FdoPropertyDefinition property  )  [protected, virtual]
 

Is this a property of this element?

Reimplemented from FdoSchemaElement.

virtual bool FdoClassDefinition::IsSubClass  )  [protected, virtual]
 

Does this class have a base class?

Reimplemented from FdoSchemaElement.

virtual void FdoClassDefinition::PropertyRemoved const FdoPropertyDefinition property  )  [protected, virtual]
 

Notification method called whenever a property of this element is removed.

Reimplemented from FdoSchemaElement.

virtual void FdoClassDefinition::Set FdoClassDefinition pClass,
FdoSchemaMergeContext pContext
[virtual]
 

DOXYGEN-IGNORE

Reimplemented in FdoFeatureClass, FdoNetworkClass, FdoNetworkFeatureClass, FdoNetworkLayerClass, FdoNetworkLinkFeatureClass, and FdoNetworkNodeFeatureClass.

FDO_API void FdoClassDefinition::SetBaseClass FdoClassDefinition value  ) 
 

Sets the base FdoClassDefinition this class is derived from.

Parameters:
value Input FdoClassDefinition this class is derived from
Returns:
Returns nothing

FDO_API void FdoClassDefinition::SetBaseProperties FdoPropertyDefinitionCollection value  ) 
 

Sets the base properties of this class. All elements of the input collection must also be properties of the class.

Parameters:
value Input collection of FdoPropertyDefinition values
Returns:
Returns nothing

FDO_API void FdoClassDefinition::SetCapabilities FdoClassCapabilities capabilities  ) 
 

Sets the class-specific capabilities for this class. This function must only be called by an FDO Provider. It would be typically called by the DescribeSchema command implementation.

Parameters:
capabilities Input the class capabilities.

FDO_API void FdoClassDefinition::SetIsAbstract bool  value  ) 
 

Sets the abstraction state of the FdoClassDefinition. Classes marked as abstract cannot be created via FDO commands and cannot be used as properties of another class.

Parameters:
value Input the abstraction state
Returns:
Returns nothing

FDO_API void FdoClassDefinition::SetIsComputed bool  value  ) 
 

Sets the computed state of the FdoClassDefinition. This is an internal method that can only be called by providers. Application should not use this method.

Parameters:
value Input the computed state
Returns:
Returns nothing

void FdoClassDefinition::writeXmlBaseProperties FdoSchemaXmlContext *  pContext  ) 
 

Wrap base properties in <baseproperties> element.

Serialize the base properties ( properties from base classes ) These functions are only called for classes that are represented in XML by a complexType restriction.

virtual FdoBoolean FdoClassDefinition::XmlEndElement FdoXmlSaxContext context,
FdoString uri,
FdoString name,
FdoString qname
[virtual]
 

Element end.

Reimplemented from FdoSchemaElement.

Reimplemented in FdoNetworkFeatureClass, FdoNetworkLinkFeatureClass, and FdoNetworkNodeFeatureClass.

virtual FdoXmlSaxHandler* FdoClassDefinition::XmlStartElement FdoXmlSaxContext context,
FdoString uri,
FdoString name,
FdoString qname,
FdoXmlAttributeCollection atts
[virtual]
 

Handle sub-elements such as properties Element start

Reimplemented from FdoSchemaElement.

Reimplemented in FdoNetworkFeatureClass, FdoNetworkLinkFeatureClass, and FdoNetworkNodeFeatureClass.


Friends And Related Function Documentation

friend class FdoObjectPropertyDefinition [friend]
 

Definition at line 48 of file ClassDefinition.h.

friend class FdoRelation [friend]
 

Definition at line 47 of file ClassDefinition.h.

friend class FdoRelationEnd [friend]
 

Definition at line 46 of file ClassDefinition.h.

friend class FdoSchemaCollection [friend]
 

Reimplemented from FdoSchemaElement.

Reimplemented in FdoFeatureClass.

Definition at line 45 of file ClassDefinition.h.


Member Data Documentation

FdoClassDefinition* FdoClassDefinition::m_baseClassCHANGED [protected]
 

Definition at line 316 of file ClassDefinition.h.

FdoReadOnlyPropertyDefinitionCollection* FdoClassDefinition::m_basePropertiesCHANGED [protected]
 

Definition at line 317 of file ClassDefinition.h.

bool FdoClassDefinition::m_isAbstractCHANGED [protected]
 

Definition at line 315 of file ClassDefinition.h.

FdoUniqueConstraintCollection* FdoClassDefinition::m_uniqueConstraintsCHANGED [protected]
 

Definition at line 318 of file ClassDefinition.h.


The documentation for this class was generated from the following file:
Comments or suggestions? Send us feedback.