FDO API Reference | Feature Data Objects |
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 protected: 00038 /// \cond DOXYGEN-IGNORE 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
Comments or suggestions? Send us feedback. |