FDO .NET API Reference Feature Data Objects

mgExpression.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 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.