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 class FdoExpression; 00022 00023 BEGIN_NAMESPACE_OSGEO_FDO_EXPRESSION 00024 00025 public __gc __interface IExpressionProcessor; 00026 00027 /// \ingroup (OSGeoFDOExpression) 00028 /// \brief 00029 /// Expression is an abstract base class that forms the root of an expression 00030 /// tree. The Expression class contains operations for converting between the 00031 /// well defined text representation and the object representation of an 00032 /// expression. 00033 public __gc class Expression : public NAMESPACE_OSGEO_RUNTIME::Disposable 00034 { 00035 public: 00036 /// \brief 00037 /// Static operation that parses the specified text and returns an 00038 /// expression. An exception is thrown if the text does not conform to the 00039 /// well defined text representation of an expression. 00040 /// 00041 /// \param expressionText 00042 /// Input expression in well defined text 00043 /// 00044 /// \return 00045 /// Returns parse tree root node 00046 /// 00047 static NAMESPACE_OSGEO_FDO_EXPRESSION::Expression* Parse(System::String* expressionText); 00048 00049 /// \brief 00050 /// Abstract operation that takes an IExpressionProcessor as an argument. 00051 /// Concrete expression subclasses must override this method and pass 00052 /// themselves as an argument to the appropriate expression processor 00053 /// operation. 00054 /// 00055 /// \param processor 00056 /// Input expression processor 00057 /// 00058 /// \return 00059 /// Returns nothing 00060 /// 00061 System::Void Process(NAMESPACE_OSGEO_FDO_EXPRESSION::IExpressionProcessor* processor); 00062 00063 /// \brief 00064 /// Abstract operation that returns the well defined text representation of 00065 /// this expression. 00066 /// 00067 /// \return 00068 /// Returns the well defined text string 00069 /// 00070 System::String* ToString(); 00071 00072 /// \brief 00073 /// Constructs a Expression object based on an unmanaged instance of the object 00074 /// 00075 /// \param unmanaged 00076 /// Input A Pointer to the unmanaged object. 00077 /// 00078 /// \param autoDelete 00079 /// Input Indicates if the constructed object should be automatically deleted 00080 /// once it no longer referenced. 00081 /// 00082 Expression(System::IntPtr unmanaged, System::Boolean autoDelete); 00083 00084 /// \cond DOXYGEN-IGNORE 00085 protected: 00086 System::Void ReleaseUnmanagedObject(); 00087 /// \endcond 00088 00089 public private: 00090 inline FdoExpression* GetImpObj(); 00091 }; 00092 00093 END_NAMESPACE_OSGEO_FDO_EXPRESSION 00094 00095
Comments or suggestions? Send us feedback. |