OSGeo FDO Provider for MySQL .NET API Reference

OSGeo FDO MySQL .NET API

.NET API Reference OSGeo FDO Provider for MySQL

mgOvSchemaAutoGeneration.h

Go to the documentation of this file.
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 class FdoRdbmsOvSchemaAutoGeneration;
00022 
00023 BEGIN_NAMESPACE_OSGEO_COMMON
00024 public __gc class StringCollection;
00025 END_NAMESPACE_OSGEO_COMMON
00026 
00027 BEGIN_NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE
00028 
00029 ///<summary>
00030 ///This class provides directives for reverse-engineering FDO
00031 ///Feature Schema elements from the physical schema of the currently 
00032 ///connected datastore.
00033 ///</summary>
00034 public __gc class OvSchemaAutoGeneration: public NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA::PhysicalElementMapping
00035 {   
00036 public private:
00037     FdoRdbmsOvSchemaAutoGeneration* GetImpObj();
00038     
00039     OvSchemaAutoGeneration(System::IntPtr unmanaged, System::Boolean autoDelete);
00040 
00041 public:
00042     ///<summary>Creates a set of schema autogeneration settings.
00043     ///</summary>
00044     ///<returns>Returns OvSchemaAutoGeneration</returns>
00045     OvSchemaAutoGeneration();
00046 
00047     ///<summary>Gets the table prefix for autogenerating class definitions.
00048     ///When set, an FDO Class Definition is automatically generated for
00049     ///each table whose name begins with this prefix. Any table already 
00050     ///referenced by a class definition is skipped. Each generated class is 
00051     ///added to the Feature Schema for this Schema Mapping Set.
00052     ///</summary>
00053     ///<returns>Returns the class autogeneration table name prefix</returns>
00054     __property System::String* get_GenTablePrefix();
00055 
00056     ///<summary>
00057     ///Sets the table prefix for autogenerating class definitions.
00058     ///</summary>
00059     /// <param name="tablePrefix">
00060     /// Input the table prefix. If L"" then no 
00061     /// classes will be generated by table prefix.
00062     /// </param>
00063     ///<returns>Returns nothing</returns>
00064     __property System::Void set_GenTablePrefix(System::String* tablePrefix);
00065 
00066     ///<summary>Gets the table prefix removal setting. This setting affects
00067     ///how classes, generated from tables matching the table prefix, are named:
00068     ///    * when true, the class name is the table name with prefix removed. 
00069     ///    true is the default setting.
00070     ///    * when false, the class name is the table name. 
00071     ///</summary>
00072     ///<returns>Returns Boolean.</returns>
00073     __property System::Boolean get_RemoveTablePrefix();
00074 
00075     ///<summary>Sets the "remove table prefix" setting.</summary>
00076     /// <param name="removeTablePrefix">
00077     /// Input the "remove table prefix" setting.
00078     // </param>
00079     ///<returns>Returns nothing</returns>
00080     __property System::Void set_RemoveTablePrefix(System::Boolean removeTablePrefix);
00081 
00082     ///<summary>Gets the list of tables or views for which class definitions 
00083     ///will be autogenerated. Once retrieved, the caller can populate this 
00084     ///list.
00085     ///When set, an FDO Class Definition is automatically generated for
00086     ///each table in this list. Any table already 
00087     ///referenced by a class definition is skipped. Each generated class is 
00088     ///added to the Feature Schema for this Schema Mapping Set.
00089     ///
00090     ///Note: the only way to autogenerate a class definition from a view
00091     ///is to add the view name to this list. There is one caveat in that
00092     ///the generated class will not have identity properties. 
00093     ///</summary>
00094     ///<returns>Returns StringCollection</returns>
00095     __property NAMESPACE_OSGEO_COMMON::StringCollection* get_GenTableList();
00096 
00097     ///<summary>Gets the maximum number of rows to sample when table data
00098     ///must be examined to determine schema information. The situations 
00099     ///where this must be done depend on the provider. For example, 
00100     ///when a geometric property is generated from a geometric column, the 
00101     ///geomety types might be determined by examining some of the geometry
00102     ///values in the column.
00103     ///
00104     ///MaxSampleRows can be any positive integer or one of the following:
00105     ///    * 0: all rows in the table are sampled. (Not recommended for
00106     ///    large datastores).
00107     ///    * -1: no rows are sampled.
00108     ///
00109     ///</summary>
00110     ///<returns>Returns Int32.</returns>
00111     __property System::Int32 get_MaxSampleRows();
00112 
00113     ///<summary>Sets the maximum number of rows to sample when 
00114     ///determining schema from table data. Higher values give a more
00115     ///accurate result but lower values provide better performance.</summary>
00116     /// <param name="maxRows">Input the maximum number of rows to sample.</param>
00117     ///<returns>Returns nothing</returns>
00118     __property System::Void set_MaxSampleRows(System::Int32 maxRows);
00119 };
00120 
00121 END_NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE
00122 

Comments?