Autodesk FDO Provider for Oracle .NET API Reference

Autodesk FDO Oracle Provider .NET API

.NET API Reference Autodesk FDO Provider for Oracle

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?