Autodesk FDO Provider for Oracle .NET API Reference

Autodesk FDO Oracle Provider .NET API

.NET API Reference Autodesk FDO Provider for Oracle

mgOvClassDefinition.h

Go to the documentation of this file.
00001 //
00002 // Copyright (C) 2004-2008  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 #pragma once
00019 
00020 class FdoSqlServerOvClassDefinition;
00021 
00022 BEGIN_NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL
00023 public __gc class OvPropertyDefinitionCollection;
00024 public __gc class OvTable;
00025 public __gc class OvGeometricColumn;
00026 
00027 ///<summary>Concrete class defining physical schema overrides for a class definition.</summary>
00028 public __gc class OvClassDefinition : public NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE::OvClassDefinition
00029 {
00030 public:
00031     ///<summary>Constructs a default of an NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL::OvClassDefinition</summary>
00032     OvClassDefinition();
00033 
00034     ///<summary>Constructs an instance of an NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL::OvClassDefinition using the specified arguments</summary>
00035     /// <param name="name">Input name</param>
00036     OvClassDefinition(System::String* name);
00037 
00038     ///<summary>Gets a collection of SqlServer property overrides</summary>
00039     /// <returns>Returns the collection of SqlServer property overrides</returns>
00040     __property NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL::OvPropertyDefinitionCollection* get_Properties();
00041 
00042     ///<summary>Gets the SqlServer table override for this class override</summary>
00043     /// <returns>Returns NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL::OvTable</returns>
00044     __property NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL::OvTable* get_Table();
00045 
00046     ///<summary>Sets the SqlServer table override for this class override</summary>
00047     /// <param name="name">Input SqlServer table override</param>
00048     /// <returns>Returns nothing</returns>
00049     __property System::Void set_Table(NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL::OvTable* table);
00050    
00051     ///<summary>Specifies which FDO property corresponds to the single SqlServer IDENTITY column.
00052     /// This property corresponds to the singleton IDENTITY column of the SQL Server table.
00053     /// This is not to be confused with the usual FDO identity properties, which instead 
00054     /// correspond to the primary key of a SQL Server table.
00055     /// </summary>
00056     /// <param name="name">Input SqlServer identity property name override.
00057     /// An empty string means there is no identity column for this class.</param>
00058     /// <returns>Returns nothing</returns>
00059     __property System::Void set_IdentityPropertyName(System::String* identityPropertyName);
00060 
00061     ///<summary>Gets which FDO property corresponds to the single SqlServer IDENTITY column</summary>
00062     /// <returns>Returns the FDO property corresponding to the single SqlServer IDENTITY column,
00063     /// or an empty string if there is no such property</returns>
00064     __property System::String* get_IdentityPropertyName();
00065 
00066     ///<summary>Retrieves the identity column's type, whether it is a non-globally-unique
00067     /// identity column or a globally-unique identity column.</summary>
00068     /// <remarks>Non-globally-unique identity columns have their value
00069     /// automatically populated by SQL Server on insert; the first value is set to the specified
00070     /// IdentitySeed, and all subsequent values are set using the specified IdentityIncrement.
00071     /// If defining such a column during ApplySchema, it must be one of the following SQL Server
00072     /// native data types: decimal, int, numeric, smallint, bigint, or tinyint.  Note that the
00073     /// “not for replication?identity column flag is not exposed.  Also note that the identifier
00074     /// column must not be nullable and must not contain a default value.
00075     /// Globally-unique identity columns do not have their value automatically populated by SQL Server.
00076     /// Instead SQL Server relies on the default value or the user to populate this value.  To have
00077     /// this value populated automatically on insert, the user should set the default value to use the
00078     /// NEWID() function to obtain a globally-unique identity value.
00079     /// This override is ignored on ApplySchema if this column belongs to an existing table in a
00080     /// foreign database.  This override is also ignored if IdentityPropertyName is not specified.
00081     /// </remarks>
00082     /// <returns>Returns the type of the single IDENTITY column, if it exists</returns>
00083     __property System::Boolean get_IdentityIsGloballyUnique();
00084 
00085     ///<summary>Set the type of the single IDENTITY column, if it exists</summary>
00086     /// <returns>Returns nothing</returns>
00087     __property System::Void set_IdentityIsGloballyUnique(System::Boolean isGloballyUnique);
00088 
00089     ///<summary>Sets the first value to use for the identity column, if there is one.</summary>
00090     /// <remarks>This override defaults to 1.  This override is ignored on ApplySchema if
00091     /// this column belongs to an existing table in a foreign database.  This override is also
00092     /// ignored if IdentityPropertyName is not specified.</remarks>
00093     /// <returns>Returns the first value to use for the identity column</returns>
00094     __property System::Int32 get_IdentitySeed();
00095 
00096     ///<summary>Gets the first value to use for the identity column, if there is one.</summary>
00097     /// <returns>Returns nothing</returns>
00098     __property System::Void set_IdentitySeed(System::Int32 identitySeed);
00099 
00100     ///<summary>Gets the increment value to use for the identity column, if there is one.</summary>
00101     /// <remarks>This override defaults to 1.  This override is ignored on ApplySchema if this
00102     /// column belongs to an existing table in a foreign database.  This override is also ignored
00103     /// if IdentityPropertyName is not specified.</remarks>
00104     /// <returns>Returns the increment value to use for the identity column</returns>
00105     __property System::Int32 get_IdentityIncrement();
00106 
00107     ///<summary>Sets the increment value to use for the identity column, if there is one.</summary>
00108     /// <returns>Returns nothing</returns>
00109     __property System::Void set_IdentityIncrement(System::Int32 identityIncrement);
00110 
00111 public private:
00112     OvClassDefinition(System::IntPtr unmanaged, System::Boolean autoDelete);
00113 
00114     inline FdoSqlServerOvClassDefinition* GetImpObj();
00115 };
00116 
00117 END_NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL

Comments?