.NET API Reference OSGeo FDO Provider for MySQL
Main Page | Namespace List | Alphabetical List | Class List | File List | Class Members | File Members

mgOvClassDefinition.h

Go to the documentation of this file.
00001 /*
00002 * (C) Copyright 2005 by Autodesk, Inc. All Rights Reserved.
00003 *
00004 * By using this code, you are agreeing to the terms and conditions of
00005 * the License Agreement included in the documentation for this code.
00006 *
00007 * AUTODESK MAKES NO WARRANTIES, EXPRESS OR IMPLIED, AS TO THE
00008 * CORRECTNESS OF THIS CODE OR ANY DERIVATIVE WORKS WHICH INCORPORATE
00009 * IT. AUTODESK PROVIDES THE CODE ON AN "AS-IS" BASIS AND EXPLICITLY
00010 * DISCLAIMS ANY LIABILITY, INCLUDING CONSEQUENTIAL AND INCIDENTAL
00011 * DAMAGES FOR ERRORS, OMISSIONS, AND OTHER PROBLEMS IN THE CODE.
00012 *
00013 * Use, duplication, or disclosure by the U.S. Government is subject
00014 * to restrictions set forth in FAR 52.227-19 (Commercial Computer
00015 * Software Restricted Rights) and DFAR 252.227-7013(c)(1)(ii)
00016 * (Rights in Technical Data and Computer Software), as applicable.
00017 *
00018 *
00019 */
00020 
00021 #pragma once
00022 
00023 class FdoSqlServerOvClassDefinition;
00024 
00025 BEGIN_NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL
00026 public __gc class OvPropertyDefinitionCollection;
00027 public __gc class OvTable;
00028 public __gc class OvGeometricColumn;
00029 
00030 ///<summary>Concrete class defining physical schema overrides for a class definition.</summary>
00031 public __gc class OvClassDefinition : public NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE::OvClassDefinition
00032 {
00033 public:
00034     ///<summary>Constructs a default of an NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL::OvClassDefinition</summary>
00035     OvClassDefinition();
00036 
00037     ///<summary>Constructs an instance of an NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL::OvClassDefinition using the specified arguments</summary>
00038     /// <param name="name">Input name</param>
00039     OvClassDefinition(System::String* name);
00040 
00041     ///<summary>Gets a collection of SqlServer property overrides</summary>
00042     /// <returns>Returns the collection of SqlServer property overrides</returns>
00043     __property NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL::OvPropertyDefinitionCollection* get_Properties();
00044 
00045     ///<summary>Gets the SqlServer table override for this class override</summary>
00046     /// <returns>Returns NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL::OvTable</returns>
00047     __property NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL::OvTable* get_Table();
00048 
00049     ///<summary>Sets the SqlServer table override for this class override</summary>
00050     /// <param name="name">Input SqlServer table override</param>
00051     /// <returns>Returns nothing</returns>
00052     __property System::Void set_Table(NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL::OvTable* table);
00053    
00054     ///<summary>Specifies which FDO property corresponds to the single SqlServer IDENTITY column.
00055     /// This property corresponds to the singleton IDENTITY column of the SQL Server table.
00056     /// This is not to be confused with the usual FDO identity properties, which instead 
00057     /// correspond to the primary key of a SQL Server table.
00058     /// </summary>
00059     /// <param name="name">Input SqlServer identity property name override.
00060     /// An empty string means there is no identity column for this class.</param>
00061     /// <returns>Returns nothing</returns>
00062     __property System::Void set_IdentityPropertyName(System::String* identityPropertyName);
00063 
00064     ///<summary>Gets which FDO property corresponds to the single SqlServer IDENTITY column</summary>
00065     /// <returns>Returns the FDO property corresponding to the single SqlServer IDENTITY column,
00066     /// or an empty string if there is no such property</returns>
00067     __property System::String* get_IdentityPropertyName();
00068 
00069     ///<summary>Retrieves the identity column's type, whether it is a non-globally-unique
00070     /// identity column or a globally-unique identity column.</summary>
00071     /// <remarks>Non-globally-unique identity columns have their value
00072     /// automatically populated by SQL Server on insert; the first value is set to the specified
00073     /// IdentitySeed, and all subsequent values are set using the specified IdentityIncrement.
00074     /// If defining such a column during ApplySchema, it must be one of the following SQL Server
00075     /// native data types: decimal, int, numeric, smallint, bigint, or tinyint.  Note that the
00076     /// “not for replication?identity column flag is not exposed.  Also note that the identifier
00077     /// column must not be nullable and must not contain a default value.
00078     /// Globally-unique identity columns do not have their value automatically populated by SQL Server.
00079     /// Instead SQL Server relies on the default value or the user to populate this value.  To have
00080     /// this value populated automatically on insert, the user should set the default value to use the
00081     /// NEWID() function to obtain a globally-unique identity value.
00082     /// This override is ignored on ApplySchema if this column belongs to an existing table in a
00083     /// foreign database.  This override is also ignored if IdentityPropertyName is not specified.
00084     /// </remarks>
00085     /// <returns>Returns the type of the single IDENTITY column, if it exists</returns>
00086     __property System::Boolean get_IdentityIsGloballyUnique();
00087 
00088     ///<summary>Set the type of the single IDENTITY column, if it exists</summary>
00089     /// <returns>Returns nothing</returns>
00090     __property System::Void set_IdentityIsGloballyUnique(System::Boolean isGloballyUnique);
00091 
00092     ///<summary>Sets the first value to use for the identity column, if there is one.</summary>
00093     /// <remarks>This override defaults to 1.  This override is ignored on ApplySchema if
00094     /// this column belongs to an existing table in a foreign database.  This override is also
00095     /// ignored if IdentityPropertyName is not specified.</remarks>
00096     /// <returns>Returns the first value to use for the identity column</returns>
00097     __property System::Int32 get_IdentitySeed();
00098 
00099     ///<summary>Gets the first value to use for the identity column, if there is one.</summary>
00100     /// <returns>Returns nothing</returns>
00101     __property System::Void set_IdentitySeed(System::Int32 identitySeed);
00102 
00103     ///<summary>Gets the increment value to use for the identity column, if there is one.</summary>
00104     /// <remarks>This override defaults to 1.  This override is ignored on ApplySchema if this
00105     /// column belongs to an existing table in a foreign database.  This override is also ignored
00106     /// if IdentityPropertyName is not specified.</remarks>
00107     /// <returns>Returns the increment value to use for the identity column</returns>
00108     __property System::Int32 get_IdentityIncrement();
00109 
00110     ///<summary>Sets the increment value to use for the identity column, if there is one.</summary>
00111     /// <returns>Returns nothing</returns>
00112     __property System::Void set_IdentityIncrement(System::Int32 identityIncrement);
00113 
00114 public private:
00115     OvClassDefinition(System::IntPtr unmanaged, System::Boolean autoDelete);
00116 
00117     inline FdoSqlServerOvClassDefinition* GetImpObj();
00118 };
00119 
00120 END_NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL

Comments?