FDO .NET API Reference Feature Data Objects

mgObjectPropertyDefinition.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\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.