# OSGeo::FDO::Schema::ClassDefinition Class Reference
[OSGeo::FDO::Schema]

Inheritance diagram for OSGeo::FDO::Schema::ClassDefinition:

[legend]

List of all members.

## Detailed Description

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

()

## Public Member Functions
| ClassDefinition (System::IntPtr unmanaged, System::Boolean autoDelete)
| Constructs a ClassDefinition object based on an unmanaged instance of the object.
__property OSGeo::FDO::Schema::ClassDefinition * | get_BaseClass ()
| Gets the base ClassDefinition this class is derived from.
__property OSGeo::FDO::Schema::ReadOnlyDataPropertyDefinitionCollection * | get_BaseIdentityProperties ()
| Returns an ReadOnlyDataPropertyDefinitionCollection containing the identity properties for the base class.
__property OSGeo::FDO::Schema::ClassCapabilities * | get_Capabilities ()
| Gets the class-specific capabilities for this class.
__property OSGeo::FDO::Schema::ClassType | get_ClassType ()
| This is an abstract operation that must be implemented by derived classes to return the concrete class type.
__property OSGeo::FDO::Schema::DataPropertyDefinitionCollection * | get_IdentityProperties ()
| Returns an DataPropertyDefinitionCollection 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.
__property System::Boolean | get_IsAbstract ()
| Gets the abstraction state of ClassDefinition. Classes marked as abstract cannot be created via FDO commands and cannot be used as properties of another class.
__property System::Boolean | get_IsComputed ()
| Gets the computed state of ClassDefinition. 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.
__property OSGeo::FDO::Schema::PropertyDefinitionCollection * | get_Properties ()
| Returns an PropertyCollection containing DataProperties, ClassProperties, and GeometricProperties defined for this class.
__property System::String * | get_QualifiedName ()
| Gets the fully qualified name of this class.
__property OSGeo::FDO::Schema::UniqueConstraintCollection * | get_UniqueConstraints ()
| Gets a UniqueConstraintCollection containing all unique constraints applied to properties of this class. The contained properties must already be defined in either the properties or baseProperties collections.
OSGeo::FDO::Schema::ReadOnlyPropertyDefinitionCollection * | GetBaseProperties ()
| Returns an ReadOnlyPropertyDefinitionCollection containing the properties defined by base classes or by the concrete class type, itself. This collection is only populated when ClassDefinition is returned by the DescribeSchema command.
__property System::Void | set_BaseClass (OSGeo::FDO::Schema::ClassDefinition *value)
| Sets the base ClassDefinition this class is derived from.
__property System::Void | set_Capabilities (OSGeo::FDO::Schema::ClassCapabilities *value)
| 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.
__property System::Void | set_IsAbstract (System::Boolean value)
| Sets the abstraction state of ClassDefinition. Classes marked as abstract cannot be created via FDO commands and cannot be used as properties of another class.
__property System::Void | set_IsComputed (System::Boolean value)
| Sets the computed state of ClassDefinition. This is an internal method that can only be called by providers. Application should not use this method.
System::Void | SetBaseProperties (OSGeo::FDO::Schema::PropertyDefinitionCollection *value)
| Sets the base properties of this class. All elements of the input collection must also be properties of the class.