- Main Page
- Classes
- Files

# 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

Please send us your comment about this page