# FdoISchemaCapabilities Class Reference

`#include <ISchemaCapabilities.h>`

Inheritance diagram for FdoISchemaCapabilities:

[legend]

List of all members.

## Detailed Description

The FdoISchemaCapbilities interface declares the feature provider's level of support for the Feature Schema.

Definition at line 34 of file ISchemaCapabilities.h.

## Public Member Functions
virtual FDO_API FdoClassType * | GetClassTypes (FdoInt32 &length)=0
| Returns an array of the FdoClassType objects the feature provider supports.
virtual FDO_API FdoDataType * | GetDataTypes (FdoInt32 &length)=0
| Returns an array of the FdoDataType objects the feature provider supports.
virtual FDO_API FdoInt64 | GetMaximumDataValueLength (FdoDataType dataType)=0
| Returns the maximum supported length of String, BLOB, or CLOB data properties. For decimal, it is typically the combination of the maximum scale and precision. For other data types that are not variable in size, the value returned is the byte length.
virtual FDO_API FdoInt32 | GetMaximumDecimalPrecision ()=0
| Returns the maximum supported precision for a decimal data property.
virtual FDO_API FdoInt32 | GetMaximumDecimalScale ()=0
| Returns the maximum supported scale for a decimal data property.
virtual FDO_API FdoInt32 | GetNameSizeLimit (FdoSchemaElementNameType name)=0
| Returns the maximum size of a value of the given type. It includes limits for the data store name, shema name, class name, property name and description.
virtual FDO_API FdoString * | GetReservedCharactersForName ()=0
| Returns a string that includes all the reserved characters that cannot be used for the various schema element names for the provider.
virtual FDO_API FdoDataType * | GetSupportedAutoGeneratedTypes (FdoInt32 &length)=0
| Returns an array of the FdoDataType objects the feature provider supports for auto-generation.
virtual FDO_API FdoDataType * | GetSupportedIdentityPropertyTypes (FdoInt32 &length)=0
| Returns a list of property types that can be used for identity properties.
virtual FDO_API bool | SupportsAssociationProperties ()=0
| Determines if the provider supports association property.
virtual FDO_API bool | SupportsAutoIdGeneration ()=0
| Determines if the provider can auto-generate unique ID values for a class.
virtual FDO_API bool | SupportsCompositeId ()=0
| Determines if the provider supports multiple identity properties per class.
virtual FDO_API bool | SupportsCompositeUniqueValueConstraints ()=0
| Determines if the provider supports composite unique value constraint.
virtual FDO_API bool | SupportsDataStoreScopeUniqueIdGeneration ()=0
| Determines if the provider can auto-generate unique ID values that are unique for the entire datastore, rather than just for a particular class.
virtual FDO_API bool | SupportsDefaultValue ()=0
| Returns TRUE if default values can be specified for a data property definition, FALSE otherwise.
virtual FDO_API bool | SupportsExclusiveValueRangeConstraints ()=0
| Determines if the provider supports exclusive value range constraints.
virtual FDO_API bool | SupportsInclusiveValueRangeConstraints ()=0
| Determines if the provider supports inclusive value range constraints.
virtual FDO_API bool | SupportsInheritance ()=0
| Determines if the feature provider supports inheritance.
virtual FDO_API bool | SupportsMultipleSchemas ()=0
| Determines if the provider supports multiple schemas. Returns false if the provider supports only a single schema.
virtual FDO_API bool | SupportsNetworkModel ()=0
| Determines if the provider supports the network model.
virtual FDO_API bool | SupportsNullValueConstraints ()=0
| Determines if the provider supports nullable value constraint.
virtual FDO_API bool | SupportsObjectProperties ()=0
| Determines if the provider supports object properties. Returns false if the provider supports only data and geometric properties.
virtual FDO_API bool | SupportsSchemaModification ()=0
| Determines if the provider support update a schema through the ApplySchema command. If False, then an application can only create a schema once for the provider. They can use the ApplySchema command once for a given datastore. Once the schema is defined, it cannot be changed. If True, then the provider supports the ability to modify or add to the schema after it is defined initially.
virtual FDO_API bool | SupportsSchemaOverrides ()=0
| Determines if the provider supports Schema Mapping Overrides (overrides to the default rules for mapping Feature Schemas to provider-specific physical schemas).
virtual FDO_API bool | SupportsUniqueValueConstraints ()=0
| Determines if the provider supports unique value constraint.
virtual FDO_API bool | SupportsValueConstraintsList ()=0
| Determines if the provider supports value constraints list.

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

- ISchemaCapabilities.h