FDO .NET API Reference | Feature Data Objects |
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. |