#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 |