- Main Page
- Related Pages
- Modules
- Classes
- Files

# InCondition.h

Go to the documentation of this file.

    00001 #ifndef _INCONDITION_H_
    00002 #define _INCONDITION_H_
    00003 //
    00004
    00005 //
    00006 // Copyright (C) 2004-2006  Autodesk, Inc.
    00007 //
    00008 // This library is free software; you can redistribute it and/or
    00009 // modify it under the terms of version 2.1 of the GNU Lesser
    00010 // General Public License as published by the Free Software Foundation.
    00011 //
    00012 // This library is distributed in the hope that it will be useful,
    00013 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    00014 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    00015 // Lesser General Public License for more details.
    00016 //
    00017 // You should have received a copy of the GNU Lesser General Public
    00018 // License along with this library; if not, write to the Free Software
    00019 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
    00020 //
    00021
    00022 #ifdef _WIN32
    00023 #pragma once
    00024 #endif
    00025
    00026 #include <FdoStd.h>
    00027 #include <Fdo/Filter/ValueExpressionCollection.h>
    00028 #include <Fdo/Expression/Identifier.h>
    00029 #include <Fdo/Filter/SearchCondition.h>
    00030
    00031 /// \brief
    00032 /// The FdoInCondition class derives from FdoSearchCondition and can be used to test
    00033 /// if the value of a specified data property is within a given set of literal
    00034 /// values.
    00035 class FdoInCondition : public FdoSearchCondition
    00036 {
    00037 /// \cond DOXYGEN-IGNORE
    00038 protected:
    00039     /// Constructs a default instance of an FdoInCondition.
    00040     FdoInCondition();
    00041
    00042     /// Constructs an instance of an FdoInCondition using the specified arguments.
    00043     FdoInCondition(FdoString* propertyName, FdoString** values, FdoInt32 length);
    00044
    00045     /// Constructs an instance of an FdoInCondition using the specified arguments.
    00046     FdoInCondition(FdoIdentifier* propertyName, FdoString** values, FdoInt32 length);
    00047
    00048     virtual ~FdoInCondition();
    00049
    00050     virtual void Dispose();
    00051 /// \endcond
    00052
    00053 public:
    00054     /// \brief
    00055     /// Constructs a default instance of an FdoInCondition.
    00056     ///
    00057     /// \return
    00058     /// Returns FdoInCondition
    00059     ///
    00060     FDO_API static FdoInCondition* Create();
    00061
    00062     /// \brief
    00063     /// Constructs an instance of an FdoInCondition using the specified arguments.
    00064     ///
    00065     /// \param propertyName
    00066     /// Input property name
    00067     /// \param values
    00068     /// Input array of values
    00069     /// \param length
    00070     /// Input number of values
    00071     ///
    00072     /// \return
    00073     /// Returns FdoInCondition
    00074     ///
    00075     FDO_API static FdoInCondition* Create(FdoString* propertyName, FdoString** values, FdoInt32 length);
    00076
    00077     /// \brief
    00078     /// Constructs an instance of an FdoInCondition using the specified arguments.
    00079     ///
    00080     /// \param propertyName
    00081     /// Input property name
    00082     /// \param values
    00083     /// Input array of values
    00084     /// \param length
    00085     /// Input number of values
    00086     ///
    00087     /// \return
    00088     /// Returns FdoInCondition
    00089     ///
    00090     FDO_API static FdoInCondition* Create(FdoIdentifier* propertyName, FdoString** values, FdoInt32 length);
    00091
    00092     /// \brief
    00093     /// Constructs an instance of an FdoInCondition using the specified arguments.
    00094     ///
    00095     /// \param propertyName
    00096     /// Input property name
    00097     /// \param pCollection
    00098     /// Input collection of values
    00099     ///
    00100     /// \return
    00101     /// Returns FdoInCondition
    00102     ///
    00103     FDO_API static FdoInCondition* Create(FdoIdentifier* propertyName, FdoValueExpressionCollection* pCollection);
    00104
    00105     /// \brief
    00106     /// Gets the name of the data property.
    00107     ///
    00108     /// \return
    00109     /// Returns the name of the data property
    00110     ///
    00111     FDO_API FdoIdentifier* GetPropertyName();
    00112
    00113     /// \brief
    00114     /// Sets the name of the data property.
    00115     ///
    00116     /// \param value
    00117     /// Input the name of the data property
    00118     ///
    00119     /// \return
    00120     /// Returns nothing
    00121     ///
    00122     FDO_API void SetPropertyName(FdoIdentifier* value);
    00123
    00124     /// \brief
    00125     ///  Gets the FdoLiteralCollection that contains the literal values.
    00126     ///
    00127     /// \return
    00128     /// Returns FdoValueExpressionCollection
    00129     ///
    00130     FDO_API FdoValueExpressionCollection* GetValues();
    00131
    00132     /// \brief
    00133     /// Overrides FdoFilter.Process to pass the FdoInCondition to the appropriate
    00134     /// filter processor operation.
    00135     ///
    00136     /// \param p
    00137     /// Input filter processor
    00138     ///
    00139     /// \return
    00140     /// Returns nothing
    00141     ///
    00142     FDO_API void Process(FdoIFilterProcessor* p);
    00143
    00144     /// \brief
    00145     /// Converts the filter expression to its well defined text representation.
    00146     ///
    00147     /// \return
    00148     /// Returns well defined text string
    00149     ///
    00150     FDO_API FdoString* ToStringInternal( FdoIdentifierCollection *pIdCol );
    00151
    00152 private:
    00153     FdoIdentifier*                  m_propertyName;
    00154     FdoValueExpressionCollection*   m_values;
    00155 };
    00156 #endif
    00157
    00158

Please send us your comment about this page