FDO .NET API Reference Feature Data Objects

mgIdentifier.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\Expression\mgExpression.h"
00022 
00023 class FdoIdentifier;
00024 
00025 BEGIN_NAMESPACE_OSGEO_FDO_EXPRESSION
00026 
00027 public __gc __interface IExpressionProcessor;
00028 
00029 /// \ingroup (OSGeoFDOExpression)
00030 /// \brief
00031 /// The Identifier class derives from Expression and represents an 
00032 /// identifier, such as a class name or property name. Identifiers can be just a name 
00033 /// or they can be scoped to a particular context. For example, consider a Person class 
00034 /// that has a DataProperty called "Name" and a ClassProperty called "Address". 
00035 /// The Address class has DataProperties "Street", "City", and "Zip Code". When manipulating 
00036 /// instances of a Person, the "Name" property can be referred to by the property name "Name". 
00037 /// The "City" property is scoped inside the "Address" property, hence must be referred to by the 
00038 /// property name "Address.City".
00039 public __gc class Identifier : public NAMESPACE_OSGEO_FDO_EXPRESSION::Expression
00040 {
00041 public:
00042     /// \brief
00043     /// Constructs a default instance of an identifier.
00044     /// 
00045     /// \return
00046     /// Returns the Identifier
00047     /// 
00048     Identifier();
00049 
00050     /// \brief
00051     /// Constructs an instance of an identifier using the specified arguments.
00052     /// 
00053     /// \param text 
00054     /// Input identifier text
00055     /// 
00056     /// \return
00057     /// Returns the Identifier
00058     /// 
00059     Identifier(System::String* text);
00060 
00061     /// \brief
00062     /// Gets the full text of the identifier.
00063     /// 
00064     /// \return
00065     /// Returns the identifier text
00066     /// 
00067     __property System::String* get_Text();
00068 
00069     /// \brief
00070     /// Sets the full text of the identifier.
00071     /// 
00072     /// \param value 
00073     /// Input identifier text
00074     /// 
00075     /// \return
00076     /// Returns nothing
00077     /// 
00078     __property System::Void set_Text(System::String* value);
00079 
00080     /// \brief
00081     /// Gets just the name of the identifier, with any scope stripped off.
00082     /// 
00083     /// \return
00084     /// Returns the name of the identifier
00085     /// 
00086     __property System::String* get_Name();
00087 
00088     /// \brief
00089     /// Gets the scope of the identifier as an array of strings.
00090     /// 
00091     /// \return
00092     /// Returns scope as array of strings
00093     /// 
00094     __property System::String* get_Scope() [];
00095 
00096     /// \brief
00097     /// Gets the schema name part of the identifier.
00098     /// 
00099     /// \return
00100     /// Returns the schema name or an empty string if the schema is not part of the identifier
00101     /// 
00102     __property System::String* get_SchemaName();
00103 
00104     /// \brief
00105     /// Overrides Expression.Process to pass the Identifier to the appropriate
00106     /// expression processor operation.
00107     /// 
00108     /// \param processor 
00109     /// Input expression processor interface
00110     /// 
00111     /// \return
00112     /// Returns nothing
00113     /// 
00114     System::Void Process(NAMESPACE_OSGEO_FDO_EXPRESSION::IExpressionProcessor* processor);
00115 
00116     /// \brief
00117     /// Returns the well defined text representation of this expression.
00118     /// 
00119     /// \return
00120     /// Returns the well defined text string
00121     /// 
00122     System::String* ToString();
00123 
00124     /// \brief
00125     /// Constructs a Identifier object based on an unmanaged instance of the object
00126     /// 
00127     /// \param unmanaged 
00128     /// Input A Pointer to the unmanaged object.
00129     /// 
00130     /// \param autoDelete 
00131     /// Input Indicates if the constructed object should be automatically deleted 
00132     /// once it no longer referenced.
00133     /// 
00134     Identifier(System::IntPtr unmanaged, System::Boolean autoDelete);
00135 
00136 public private:
00137     inline FdoIdentifier* GetImpObj();
00138 };
00139 END_NAMESPACE_OSGEO_FDO_EXPRESSION
00140 
00141 

Comments or suggestions? Send us feedback.