FDO .NET API Reference Feature Data Objects

mgDataPropertyDefinition.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\mgDataType.h"
00023 
00024 class FdoDataPropertyDefinition;
00025 
00026 BEGIN_NAMESPACE_OSGEO_FDO_SCHEMA
00027 
00028 /// \ingroup (OSGeoFDOSchema)
00029 /// \brief
00030 /// The DataPropertyDefinition class derives PropertyDefinition and represents simple
00031 /// values or collections of simple values. DataPropertyDefinitions can take on
00032 /// any of the data types listed in DataType enumeration.
00033 public __gc class DataPropertyDefinition : public NAMESPACE_OSGEO_FDO_SCHEMA::PropertyDefinition
00034 {
00035 public:
00036     /// \brief
00037     /// Constructs a default instance of an DataPropertyDefinition.
00038     /// 
00039     DataPropertyDefinition();
00040 
00041     /// \brief
00042     /// Constructs an instance of an DataPropertyDefinition using the specified arguments
00043     /// 
00044     /// \param name 
00045     /// Input name
00046     /// \param description 
00047     /// Input description
00048     /// 
00049     DataPropertyDefinition(System::String* name, System::String* description);
00050 
00051     /// \brief
00052     /// Constructs an instance of an DataPropertyDefinition using the specified arguments
00053     /// 
00054     /// \param name 
00055     /// Input name
00056     /// \param description 
00057     /// Input description
00058     /// \param system 
00059     /// Input true if this is a system generated property, otherwise falseds.
00060     /// 
00061     DataPropertyDefinition(System::String* name, System::String* description, System::Boolean system);
00062 
00063     /// \brief
00064     /// Gets the concrete property type.
00065     /// \return
00066     /// Returns the concrete property type.
00067     __property NAMESPACE_OSGEO_FDO_SCHEMA::PropertyType get_PropertyType();
00068 
00069     /// \brief
00070     /// Gets the DataType of this property.
00071     /// 
00072     /// \return
00073     /// Returns the DataType of this property
00074     /// 
00075     __property NAMESPACE_OSGEO_FDO_SCHEMA::DataType get_DataType();
00076 
00077     /// \brief
00078     /// Sets the DataType of this property.
00079     /// 
00080     /// \param value 
00081     /// Input the DataType of this property
00082     /// 
00083     /// \return
00084     /// Returns nothing
00085     /// 
00086     __property System::Void set_DataType(NAMESPACE_OSGEO_FDO_SCHEMA::DataType value);
00087 
00088     /// \brief
00089     /// Returns a Boolean value that indicates if this property is read-only.
00090     /// 
00091     /// \return
00092     /// Returns a Boolean value
00093     /// 
00094     __property System::Boolean get_ReadOnly();
00095 
00096     /// \brief
00097     /// Sets a Boolean value that indicates if this property is read-only.
00098     /// 
00099     /// \param value 
00100     /// Input a Boolean value that indicates if this property is read-only
00101     /// 
00102     /// \return
00103     /// Returns nothing
00104     /// 
00105     __property System::Void set_ReadOnly(System::Boolean value);
00106 
00107     /// \brief
00108     /// Gets the length of a String, BLOB, or CLOB data property. This value
00109     /// does not apply to any other DataType.
00110     /// 
00111     /// \return
00112     /// Returns the length of a String, BLOB, or CLOB data property
00113     /// 
00114     __property System::Int32 get_Length();
00115 
00116     /// \brief
00117     /// Sets the length of a String, BLOB, or CLOB data property. This value is
00118     /// ignored for all other DataType values.
00119     /// 
00120     /// \param value 
00121     /// Input the length of a String, BLOB, or CLOB data property
00122     /// 
00123     /// \return
00124     /// Returns nothing
00125     /// 
00126     __property System::Void set_Length(System::Int32 value);
00127 
00128     /// \brief
00129     /// Gets the precision (total number of digits) of a decimal data property.
00130     /// This value does not apply to any other DataType.
00131     /// 
00132     /// \return
00133     /// Returns the precision
00134     /// 
00135     __property System::Int32 get_Precision();
00136 
00137     /// \brief
00138     /// Sets the precision (total number of digits) of a decimal data property.
00139     /// This value is ignored for all other DataType values.
00140     /// 
00141     /// \param value 
00142     /// Input the precision
00143     /// 
00144     /// \return
00145     /// Returns nothing
00146     /// 
00147     __property System::Void set_Precision(System::Int32 value);
00148 
00149     /// \brief
00150     /// Gets the scale (number of digits to the right of the decimal point) of a
00151     /// decimal data property. This value does not apply to any other DataType.
00152     /// 
00153     /// \return
00154     /// Returns the scale
00155     /// 
00156     __property System::Int32 get_Scale();
00157 
00158     /// \brief
00159     /// Sets the scale (number of digits to the right of the decimal point) of a
00160     /// decimal data property. This value is ignored for all other DataType values.
00161     /// 
00162     /// \param value 
00163     /// Input the scale
00164     /// 
00165     /// \return
00166     /// Returns nothing
00167     /// 
00168     __property System::Void set_Scale(System::Int32 value);
00169 
00170     /// \brief
00171     /// Returns a Boolean value that indicates if this property's value can be
00172     /// null.
00173     /// 
00174     /// \return
00175     /// Returns a Boolean value
00176     /// 
00177     __property System::Boolean get_Nullable();
00178 
00179     /// \brief
00180     /// Sets a Boolean value that indicates if this property's value can be
00181     /// null.
00182     /// 
00183     /// \param value 
00184     /// Input a Boolean value that indicates if this property's value can be
00185     /// null
00186     /// 
00187     /// \return
00188     /// Returns nothing
00189     /// 
00190     __property System::Void set_Nullable(System::Boolean value);
00191 
00192     /// \brief
00193     /// Gets the default value for this property. The default value is used when
00194     /// an instance of the containing class is created without specifying a value
00195     /// for this property.
00196     /// 
00197     /// \return
00198     /// Returns the default value
00199     /// 
00200     __property System::String* get_DefaultValue();
00201 
00202     /// \brief
00203     /// Sets the default value for this property. The default value is used when
00204     /// an instance of the containing class is created without specifying a value
00205     /// for this property.
00206     /// 
00207     /// \param value 
00208     /// Input the default value
00209     /// 
00210     /// \return
00211     /// Returns nothing
00212     /// 
00213     __property System::Void set_DefaultValue(System::String* value);
00214 
00215     /// \brief
00216     /// Sets a Boolean value that indicates if this is an autogenerated property.
00217     /// 
00218     /// \param value 
00219     /// Input a Boolean value that indicates if this property should
00220     /// be automatically generated by the provider. If true, then the provider will auto-generate
00221     /// unique id values for objects of the class containing this property.
00222     /// The provider will set the attribute properties to read-only.
00223     /// If the provider does not support auto-generation or if the data types of the
00224     /// property is not supported for unique id generation by the provider, then the provider will
00225     /// throw an AutoGenerationException. If false, then the provider will not autogenerate values.
00226     /// 
00227     /// \return
00228     /// Returns nothing
00229     /// 
00230     __property System::Void set_IsAutoGenerated(System::Boolean value);
00231 
00232     /// \brief
00233     /// Returns a Boolean value that indicates if this is an autogenerated property.
00234     /// 
00235     /// \return
00236     /// Returns a Boolean value.
00237     /// 
00238     __property System::Boolean get_IsAutoGenerated();
00239 
00240     /// \brief
00241     /// Returns the value constraint of this data property.
00242     /// 
00243     /// \return
00244     /// Returns PropertyValueConstraint or NULL if not set.
00245     /// 
00246     __property NAMESPACE_OSGEO_FDO_SCHEMA::PropertyValueConstraint* get_ValueConstraint();
00247 
00248     /// \brief
00249     /// Sets the value constraint of this data property.
00250     /// 
00251     /// \param value 
00252     /// Set the value constraint of this data property.
00253     /// 
00254     /// \return
00255     /// Returns nothing
00256     /// 
00257     __property System::Void set_ValueConstraint(NAMESPACE_OSGEO_FDO_SCHEMA::PropertyValueConstraint* value );
00258 
00259     /// \brief
00260     /// Constructs a DataPropertyDefinition object based on an unmanaged instance of the object
00261     /// 
00262     /// \param unmanaged 
00263     /// Input A Pointer to the unmanaged object.
00264     /// 
00265     /// \param autoDelete 
00266     /// Input Indicates if the constructed object should be automatically deleted 
00267     /// once it no longer referenced.
00268     /// 
00269     DataPropertyDefinition(System::IntPtr unmanaged, System::Boolean autoDelete) : NAMESPACE_OSGEO_FDO_SCHEMA::PropertyDefinition(unmanaged, autoDelete)
00270     {
00271 
00272     }
00273 
00274 public private:
00275     inline FdoDataPropertyDefinition* GetImpObj();
00276 };
00277 
00278 END_NAMESPACE_OSGEO_FDO_SCHEMA
00279 
00280 

Comments or suggestions? Send us feedback.