#include <coherence/util/filter/LikeFilter.hpp>
Inherits ComparisonFilter.
A pattern can include regular characters and wildcard characters '_' and ''.
During pattern matching, regular characters must exactly match the characters in an evaluated string. Wildcard character '_' (underscore) can be matched with any single character, and wildcard character '' can be matched with any string fragment of zero or more characters.
Public Types | ||||
typedef spec::Handle | Handle | |||
LikeFilter Handle definition. | ||||
typedef spec::View | View | |||
LikeFilter View definition. | ||||
typedef spec::Holder | Holder | |||
LikeFilter Holder definition. | ||||
Public Member Functions | ||||
virtual size32_t | calculateEffectiveness (Map::View vMapIndexes, Set::View vSetKeys) const | |||
virtual Filter::View | applyIndex (Map::View vMapIndexes, Set::Handle hSetKeys) const | |||
virtual void | readExternal (PofReader::Handle hIn) | |||
virtual void | writeExternal (PofWriter::Handle hOut) const | |||
virtual String::View | getPattern () const | |||
Obtain the filter's pattern string. | ||||
virtual bool | isIgnoreCase () const | |||
Check whether or not the filter is case incensitive. | ||||
virtual wchar16_t | getEscapeChar () const | |||
Obtain the escape character that is used for escaping '' and '_' in the pattern or zero if there is no escape. | ||||
COH_INLINE void | showPlan (std::ostream &out) const | |||
Display the execution plan that the LikeFilter has selected. | ||||
virtual String::View | formatPlan () const | |||
Return the execution plan that the LikeFilter has selected. | ||||
Protected Member Functions | ||||
LikeFilter () | ||||
Default constructor (necessary for the PortableObject interface). | ||||
LikeFilter (ValueExtractor::View vExtractor, String::View vsPattern, wchar16_t chEscape=(wchar16_t) 0, bool fIgnoreCase=false) | ||||
Construct a LikeFilter for pattern match. | ||||
virtual bool | evaluateExtracted (Object::View vExtracted) const | |||
Evaluate the specified extracted value.
| ||||
virtual void | buildPlan () | |||
Build a plan for processing the LIKE functionality. | ||||
virtual bool | isMatch (String::View vsValue) const | |||
Check the passed String value to see if it matches the pattern that this filter was constructed with. |
LikeFilter | ( | ValueExtractor::View | vExtractor, | |
String::View | vsPattern, | |||
wchar16_t | chEscape = (wchar16_t) 0 , |
|||
bool | fIgnoreCase = false | |||
) | [protected] |
Construct a LikeFilter for pattern match.
vExtractor | the ValueExtractor to use by this filter | |
vsPattern | the string pattern to compare the result with | |
chEscape | the escape character for escaping '' and '_' | |
fIgnoreCase | true to be case-insensitive |
virtual String::View getPattern | ( | ) | const [virtual] |
Obtain the filter's pattern string.
virtual bool isIgnoreCase | ( | ) | const [virtual] |
Check whether or not the filter is case incensitive.
virtual wchar16_t getEscapeChar | ( | ) | const [virtual] |
Obtain the escape character that is used for escaping '' and '_' in the pattern or zero if there is no escape.
COH_INLINE void showPlan | ( | std::ostream & | out | ) | const [inline] |
Display the execution plan that the LikeFilter has selected.
out | the ostream to display the plan on |
virtual String::View formatPlan | ( | ) | const [virtual] |
virtual bool isMatch | ( | String::View | vsValue | ) | const [protected, virtual] |
Check the passed String value to see if it matches the pattern that this filter was constructed with.
vsValue | the String value to match against this filter's pattern |