FDO .NET API Reference Feature Data Objects

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

Comments or suggestions? Send us feedback.