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\Schema\mgPropertyDefinition.h" 00022 #include "FDO\Schema\mgObjectType.h" 00023 #include "FDO\Schema\mgOrderType.h" 00024 00025 class FdoObjectPropertyDefinition; 00026 00027 BEGIN_NAMESPACE_OSGEO_FDO_SCHEMA 00028 public __gc class ClassDefinition; 00029 public __gc class DataPropertyDefinition; 00030 00031 /// \ingroup (OSGeoFDOSchema) 00032 /// \brief 00033 /// ObjectPropertyDefinition class derives PropertyDefinition and represents 00034 /// containment of an object or a collection of objects within another class. 00035 /// The class of the contained object must already be defined in the feature 00036 /// schema and cannot be abstract. 00037 public __gc class ObjectPropertyDefinition : public NAMESPACE_OSGEO_FDO_SCHEMA::PropertyDefinition 00038 { 00039 public: 00040 /// \brief 00041 /// Constructs a default instance of an ObjectPropertyDefinition. 00042 /// 00043 ObjectPropertyDefinition(); 00044 00045 /// \brief 00046 /// Constructs an instance of an ObjectPropertyDefinition using the specified 00047 /// arguments. 00048 /// 00049 /// \param name 00050 /// Input name 00051 /// \param description 00052 /// Input description 00053 /// 00054 ObjectPropertyDefinition(System::String* name, System::String* description); 00055 00056 /// \brief 00057 /// Constructs an instance of an ObjectPropertyDefinition using the specified 00058 /// arguments. 00059 /// 00060 /// \param name 00061 /// Input name 00062 /// \param description 00063 /// Input description 00064 /// \param system 00065 /// Input true if this is a system generated property, otherwise false. 00066 /// <p><b>Note:</b> A client would never set system to true, only a provider. 00067 /// 00068 ObjectPropertyDefinition(System::String* name, System::String* description, System::Boolean system); 00069 00070 /// \brief 00071 /// Gets a reference to the ClassDefinition that defines the type of this 00072 /// property. 00073 /// 00074 /// \return 00075 /// Returns class definition 00076 /// 00077 __property NAMESPACE_OSGEO_FDO_SCHEMA::ClassDefinition* get_Class(); 00078 00079 /// \brief 00080 /// Sets a reference to the ClassDefinition that defines the type of this 00081 /// property. 00082 /// 00083 /// \param value 00084 /// Input class definition 00085 /// 00086 __property System::Void set_Class(NAMESPACE_OSGEO_FDO_SCHEMA::ClassDefinition* value); 00087 00088 /// \brief 00089 /// Gets a reference to an DataPropertyDefinition to use for uniquely identifying 00090 /// instances of the contained class within a single parent object instance. 00091 /// This value is only used for ObjectType_Collection and ObjectType_OrderedCollection object 00092 /// property types. The DataPropertyDefinition must belong to the ClassDefinition that 00093 /// defines the type of this property. 00094 /// 00095 /// \return 00096 /// Returns the Indentity data property definition 00097 /// 00098 __property NAMESPACE_OSGEO_FDO_SCHEMA::DataPropertyDefinition* get_IdentityProperty(); 00099 00100 /// \brief 00101 /// Sets a reference to an DataPropertyDefinition to use for uniquely identifying 00102 /// instances of the contained class within a single parent object instance. 00103 /// This value is only used for ObjectType_Collection and ObjectType_OrderedCollection object 00104 /// property types. The DataPropertyDefinition must belong to the ClassDefinition that 00105 /// defines the type of this property. 00106 /// 00107 /// \param value 00108 /// Input data property definition 00109 /// 00110 __property System::Void set_IdentityProperty(NAMESPACE_OSGEO_FDO_SCHEMA::DataPropertyDefinition* value); 00111 00112 /// \brief 00113 /// Gets the type of this object property (value, collection, or ordered 00114 /// collection). 00115 /// 00116 /// \return 00117 /// Returns the type of this object property 00118 /// 00119 __property NAMESPACE_OSGEO_FDO_SCHEMA::ObjectType get_ObjectType(); 00120 00121 /// \brief 00122 /// Sets the type of this object property (value, collection, or ordered 00123 /// collection). 00124 /// 00125 /// \param value 00126 /// Input the type of this object property 00127 /// 00128 __property System::Void set_ObjectType(NAMESPACE_OSGEO_FDO_SCHEMA::ObjectType value); 00129 00130 /// \brief 00131 /// Gets the order type of this object property (ascending or descending). 00132 /// This property is only applicable if the property type is set to 00133 /// ObjectType_OrderedCollection. 00134 /// 00135 /// \return 00136 /// Returns the order type 00137 /// 00138 __property NAMESPACE_OSGEO_FDO_SCHEMA::OrderType get_OrderType(); 00139 00140 /// \brief 00141 /// Sets the order type of this object property (ascending or descending). 00142 /// This property is only applicable if the property type is set to 00143 /// ObjectType_OrderedCollection. 00144 /// 00145 /// \param value 00146 /// Input the order type 00147 /// 00148 __property System::Void set_OrderType(NAMESPACE_OSGEO_FDO_SCHEMA::OrderType value); 00149 00150 /// \brief 00151 /// Constructs a ObjectPropertyDefinition object based on an unmanaged instance of the object 00152 /// 00153 /// \param unmanaged 00154 /// Input A Pointer to the unmanaged object. 00155 /// 00156 /// \param autoDelete 00157 /// Input Indicates if the constructed object should be automatically deleted 00158 /// once it no longer referenced. 00159 /// 00160 ObjectPropertyDefinition(System::IntPtr unmanaged, System::Boolean autoDelete) : NAMESPACE_OSGEO_FDO_SCHEMA::PropertyDefinition(unmanaged, autoDelete) 00161 { 00162 00163 } 00164 00165 public private: 00166 inline FdoObjectPropertyDefinition* GetImpObj(); 00167 }; 00168 00169 END_NAMESPACE_OSGEO_FDO_SCHEMA 00170 00171
Comments or suggestions? Send us feedback. |