FDO .NET API Reference Feature Data Objects

mgIInsertImp.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 #include "FDO\Commands\mgICommandImp.h"
00022 #include "FDO\Commands\Feature\mgIInsert.h"
00023 
00024 class FdoIInsert;
00025 
00026 BEGIN_NAMESPACE_OSGEO_FDO_EXPRESSION
00027 public __gc class Identifier;
00028 END_NAMESPACE_OSGEO_FDO_EXPRESSION
00029 
00030 BEGIN_NAMESPACE_OSGEO_FDO_COMMANDS
00031 public __gc class PropertyValueCollection;
00032 public __gc class BatchParameterValueCollection;
00033 END_NAMESPACE_OSGEO_FDO_COMMANDS
00034 
00035 BEGIN_NAMESPACE_OSGEO_FDO_COMMANDS_FEATURE
00036 public __gc __interface IFeatureReader;
00037 
00038 /// \ingroup (OSGeoFDOCommandsFeature)
00039 /// \brief
00040 /// The IInsertImp class is a concrete implementation class for interface IInsert.
00041 /// The IInsert interface defines the Insert command, which inserts a new
00042 /// instance of a given class. Input to the insert command includes the name of
00043 /// the class and a collection of property values. Properties that are
00044 /// not specified and do not have a default value will be assigned a null value
00045 /// or an exception will be thrown if the property is required. The insert
00046 /// command can insert instances at global scope or instances nested within an
00047 /// object collection property. Instances at global scope are referred to simply
00048 /// by the class name. Instances at a nested scope (i.e. instances within a
00049 /// object collection property) are referred to by the containing class name,
00050 /// followed by a '.', followed by the object collection property name.
00051 private __gc class IInsertImp : public NAMESPACE_OSGEO_FDO_COMMANDS::ICommandImp, 
00052                                 public NAMESPACE_OSGEO_FDO_COMMANDS_FEATURE::IInsert
00053 {
00054 public:
00055     /// \brief
00056     /// Gets the name of the class to be operated upon as an Identifier.
00057     /// 
00058     /// \return
00059     /// Returns the class name.
00060     /// 
00061     __property NAMESPACE_OSGEO_FDO_EXPRESSION::Identifier* get_FeatureClassName();
00062 
00063     /// \brief
00064     /// Sets the name of the class to be operated upon as an Identifier.
00065     /// 
00066     /// \param value 
00067     /// Input the identifier for the class.
00068     /// 
00069     /// \return
00070     /// Returns nothing
00071     /// 
00072     __property System::Void set_FeatureClassName(NAMESPACE_OSGEO_FDO_EXPRESSION::Identifier* value);
00073 
00074     /// \brief
00075     /// Sets the name of the class to be operated upon as an Identifier.
00076     /// 
00077     /// \param value 
00078     /// Input the class name.
00079     /// 
00080     /// \return
00081     /// Returns nothing
00082     /// 
00083     System::Void SetFeatureClassName(System::String* value);
00084 
00085     /// \brief
00086     /// Gets the PropertyValueCollection that specifies the names and values
00087     /// of the properties for the instance to be inserted.
00088     /// 
00089     /// \return
00090     /// Returns the list of properties and their values.
00091     /// 
00092     __property NAMESPACE_OSGEO_FDO_COMMANDS::PropertyValueCollection* get_PropertyValues();
00093 
00094     /// \brief
00095     /// Gets the BatchParameterValueCollection that can be used for optimized
00096     /// batch inserts of multiple features with a single insert command. Batch
00097     /// inserts can be performed by using Parameters for each of the property
00098     /// values, then adding collections of parameter values to the
00099     /// BatchParameterValueCollection. Each ParameterValueCollection in the
00100     /// BatchParameterValueCollection should contain one ParameterValue for each
00101     /// of the parameters specified for property values.
00102     /// 
00103     /// \return
00104     /// Returns BatchParameterValueCollection
00105     /// 
00106     __property NAMESPACE_OSGEO_FDO_COMMANDS::BatchParameterValueCollection* get_BatchParameterValues();
00107 
00108     /// \brief
00109     /// Executes the insert command and returns a reference to an
00110     /// IFeatureReader. Some feature providers can generate automatic identity
00111     /// values for features. This will happen automatically as the features are
00112     /// inserted. The returned IFeatureReader allows the client to obtain the
00113     /// automatic identity property value(s) of newly inserted object(s). The
00114     /// returned feature reader at a minimum will read the unique identity
00115     /// properties of the objects just inserted. Multiple objects will be
00116     /// returned through the reader in the case of a batch insert.
00117     /// 
00118     /// \return
00119     /// Returns an IFeatureReader
00120     /// 
00121     NAMESPACE_OSGEO_FDO_COMMANDS_FEATURE::IFeatureReader* Execute();
00122 
00123 public private:
00124     IInsertImp(System::IntPtr unmanaged, System::Boolean autoDelete) : NAMESPACE_OSGEO_FDO_COMMANDS::ICommandImp(unmanaged, autoDelete)
00125     {
00126 
00127     }
00128 
00129     inline FdoIInsert* GetImpObj();
00130 };
00131 
00132 END_NAMESPACE_OSGEO_FDO_COMMANDS_FEATURE
00133 
00134 

Comments or suggestions? Send us feedback.