FDO .NET API Reference | Feature Data Objects |
00001 /* 00002 * Copyright (C) 2004-2006 Autodesk, Inc. 00003 * 00004 * This library is free software; you can redistribute it and/or 00005 * modify it under the terms of version 2.1 of the GNU Lesser 00006 * General Public License as published by the Free Software Foundation. 00007 * 00008 * This library is distributed in the hope that it will be useful, 00009 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00010 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00011 * Lesser General Public License for more details. 00012 * 00013 * You should have received a copy of the GNU Lesser General Public 00014 * License along with this library; if not, write to the Free Software 00015 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 00016 * 00017 */ 00018 00019 #pragma once 00020 00021 #include "FDO\Schema\mgClassType.h" 00022 #include "FDO\Schema\mgDataType.h" 00023 #include "FDO\Connections\Capabilities\mgSchemaElementNameType.h" 00024 00025 BEGIN_NAMESPACE_OSGEO_FDO_SCHEMA 00026 public __value enum ClassType; 00027 public __value enum DataType; 00028 END_NAMESPACE_OSGEO_FDO_SCHEMA 00029 00030 BEGIN_NAMESPACE_OSGEO_FDO_CONNECTIONS_CAPABILITIES 00031 00032 public __value enum SchemaElementNameType; 00033 00034 /// \ingroup (OSGeoFDOConnectionsCapabilities) 00035 /// \interface OSGeo::FDO::Connections::Capabilities::ISchemaCapabilities 00036 /// \brief 00037 /// The ISchemaCapbilities interface declares the feature provider's level 00038 /// of support for the Feature Schema. 00039 public __gc __interface ISchemaCapabilities : public System::IDisposable 00040 { 00041 public: 00042 /// \brief 00043 /// Returns an array of the ClassType objects the feature provider supports. 00044 /// 00045 /// \return 00046 /// Returns the list of class types. 00047 /// 00048 __property NAMESPACE_OSGEO_FDO_SCHEMA::ClassType get_ClassTypes() []; 00049 00050 /// \brief 00051 /// Returns an array of the DataType objects the feature provider supports. 00052 /// 00053 /// \return 00054 /// Returns the list of data types 00055 /// 00056 __property NAMESPACE_OSGEO_FDO_SCHEMA::DataType get_DataTypes() []; 00057 00058 /// \brief 00059 /// Returns the maximum supported length of String, BLOB, or CLOB data 00060 /// properties. For decimal, it is the combination of the maximum scale 00061 /// and precision. For other data types that are not variable in size, 00062 /// the value returned is the byte length. 00063 /// 00064 /// \param dataType 00065 /// The data type for which the information is to retrieved. 00066 /// 00067 /// \return 00068 /// Returns the maximum data value length for the identified data type. 00069 /// 00070 __property System::Int64 get_MaximumDataValueLength(NAMESPACE_OSGEO_FDO_SCHEMA::DataType dataType); 00071 00072 /// \brief 00073 /// Returns the maximum supported precision for a decimal data property. 00074 /// 00075 /// \return 00076 /// Returns the maximum supported precision for a decimal data property. 00077 /// 00078 __property System::Int32 get_MaximumDecimalPrecision(); 00079 00080 /// \brief 00081 /// Returns the maximum supported scale for a decimal data property. 00082 /// 00083 /// \return 00084 /// Returns the maximum supported scale for a decimal data property. 00085 /// 00086 __property System::Int32 get_MaximumDecimalScale(); 00087 00088 /// \brief 00089 /// Returns the maximum size of a value of the given type. It includes 00090 /// limits for the data store name, shema name, class name, property name 00091 /// and description. 00092 /// 00093 /// \param name 00094 /// The schema element name type identifier for which the information is to 00095 /// be retrieved. Can be any of the following options: SchemaElementNameType_Datastore, 00096 /// SchemaElementNameType_Schema, SchemaElementNameType_Class, SchemaElementNameType_Property or 00097 /// SchemaElementNameType_Description 00098 /// 00099 /// \return 00100 /// Returns the size limitation for the identified schema element. 00101 /// 00102 __property System::Int32 get_NameSizeLimit(NAMESPACE_OSGEO_FDO_CONNECTIONS_CAPABILITIES::SchemaElementNameType name); 00103 00104 /// \brief 00105 /// Returns a string that includes all the reserved characters that cannot be 00106 /// used for the various schema element names for the provider. 00107 /// 00108 /// \return 00109 /// Returns a string with the reserved characters for the identified schema element. 00110 /// 00111 __property System::String* get_ReservedCharactersForName(); 00112 00113 /// \brief 00114 /// Returns an array of the DataType objects the feature provider supports for auto-generation. 00115 /// 00116 /// \return 00117 /// Returns the list of data types 00118 /// 00119 __property NAMESPACE_OSGEO_FDO_SCHEMA::DataType get_SupportedAutoGeneratedTypes() []; 00120 00121 /// \brief 00122 /// Returns a list of property types that can be used for identity properties. 00123 /// 00124 /// \return 00125 /// Returns a string with the reserved characters for the identified schema element. 00126 /// 00127 __property NAMESPACE_OSGEO_FDO_SCHEMA::DataType get_SupportedIdentityPropertyTypes() []; 00128 00129 /// \brief 00130 /// Determines if the provider supports association property. 00131 /// 00132 /// \return 00133 /// Returns true if the provider support the association property. 00134 /// 00135 __property System::Boolean get_SupportsAssociationProperties(); 00136 00137 /// \brief 00138 /// Determines if the provider can auto-generate unique ID values for a class. 00139 /// 00140 /// \return 00141 /// Returns true if the provider supports id autogeneration. 00142 /// 00143 __property System::Boolean get_SupportsAutoIdGeneration(); 00144 00145 /// \brief 00146 /// Determines if the provider supports multiple identity properties per class. 00147 /// 00148 /// \return 00149 /// Returns true if the provider supports multiple identity properties per class. 00150 /// 00151 __property System::Boolean get_SupportsCompositeId(); 00152 00153 /// \brief 00154 /// Determines if the provider supports composite unique value constraint. 00155 /// 00156 /// \return 00157 /// Returns true if the provider supports composite unique value constraint. 00158 /// 00159 __property System::Boolean get_SupportsCompositeUniqueValueConstraints(); 00160 00161 /// \brief 00162 /// Determines if the provider can auto-generate unique ID values that are unique for the entire datastore, rather than just for a particular class. 00163 /// 00164 /// \return 00165 /// Returns true if the provider supports id autogeneration unique across an datastore. 00166 /// 00167 __property System::Boolean get_SupportsDataStoreScopeUniqueIdGeneration(); 00168 00169 /// \brief 00170 /// Returns TRUE if default values can be specified for a data property 00171 /// definition, FALSE otherwise. 00172 /// 00173 /// \return 00174 /// Returns TRUE if default values can be specified for a data property 00175 /// definition, FALSE otherwise. 00176 /// 00177 __property System::Boolean get_SupportsDefaultValue(); 00178 00179 /// \brief 00180 /// Determines if the provider supports exclusive value range constraints. 00181 /// 00182 /// \return 00183 /// Returns true if the provider supports exclusive value range constraints. 00184 /// 00185 __property System::Boolean get_SupportsExclusiveValueRangeConstraints(); 00186 00187 /// \brief 00188 /// Determines if the provider supports inclusive value range constraints. 00189 /// 00190 /// \return 00191 /// Returns true if the provider supports inclusive value range constraints. 00192 /// 00193 __property System::Boolean get_SupportsInclusiveValueRangeConstraints(); 00194 00195 /// \brief 00196 /// Determines if the feature provider supports inheritance. 00197 /// 00198 /// \return 00199 /// Returns true if the feature provider supports inheritance 00200 /// 00201 __property System::Boolean get_SupportsInheritance(); 00202 00203 /// \brief 00204 /// Determines if the provider supports multiple schemas. Returns false if the provider supports only a single schema. 00205 /// 00206 /// \return 00207 /// Returns true if the provider supports multiple schemas. 00208 /// 00209 __property System::Boolean get_SupportsMultipleSchemas(); 00210 00211 /// \brief 00212 /// Determines if the provider supports the network model. 00213 /// 00214 /// \return 00215 /// Returns true if the provider supports the network model. 00216 /// 00217 __property System::Boolean get_SupportsNetworkModel(); 00218 00219 /// \brief 00220 /// Determines if the provider supports nullable value constraint. 00221 /// 00222 /// \return 00223 /// Returns true if the provider supports nullable value constraint. 00224 /// 00225 __property System::Boolean get_SupportsNullValueConstraints(); 00226 00227 /// \brief 00228 /// Determines if the provider supports object properties. Returns false if the provider supports only data and geometric properties. 00229 /// 00230 /// \return 00231 /// Returns true if the provider supports object properties. 00232 /// 00233 __property System::Boolean get_SupportsObjectProperties(); 00234 00235 /// \brief 00236 /// Determines if the provider support update a schema through the ApplySchema command. 00237 /// If False, then an application can only create a schema once for the provider. They can use the ApplySchema 00238 /// command once for a given datastore. Once the schema is defined, it cannot be changed. If True, then the provider 00239 /// supports the ability to modify or add to the schema after it is defined initially. 00240 /// 00241 /// \return 00242 /// Returns true if the provider supports the update of the schema. 00243 /// 00244 __property System::Boolean get_SupportsSchemaModification(); 00245 00246 /// \brief 00247 /// Determines if the provider supports Schema Mapping Overrides 00248 /// (overrides to the default rules for mapping Feature Schemas to provider-specific 00249 /// physical schemas) 00250 /// 00251 /// \return 00252 /// Returns true if the provider supports Schema Overrides 00253 /// 00254 __property System::Boolean get_SupportsSchemaOverrides(); 00255 00256 /// \brief 00257 /// Determines if the provider supports unique value constraint. 00258 /// 00259 /// \return 00260 /// Returns true if the provider supports unique value constraint. 00261 /// 00262 __property System::Boolean get_SupportsUniqueValueConstraints(); 00263 00264 /// \brief 00265 /// Determines if the provider supports value constraints list. 00266 /// 00267 /// \return 00268 /// Returns true if the provider supports value constraints list. 00269 /// 00270 __property System::Boolean get_SupportsValueConstraintsList(); 00271 00272 00273 00274 00275 }; 00276 00277 END_NAMESPACE_OSGEO_FDO_CONNECTIONS_CAPABILITIES 00278 00279
Comments or suggestions? Send us feedback. |