LikeFilter Class Reference

#include <coherence/util/filter/LikeFilter.hpp>

Inherits ComparisonFilter.

List of all members.


Detailed Description

Filter which compares the result of a method invocation with a value for pattern match.

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.

Author:
djl 2008.07.24

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 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 char16_t getEscapeChar () const
 Obtain the escape character that is used for escaping '' and '_' in the pattern or zero if there is no escape.
virtual void showPlan (std::ostream &out) const
 Display 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, char16_t chEscape=(char16_t) 0, bool fIgnoreCase=false)
 Construct a LikeFilter for pattern match.
virtual bool evaluateExtracted (Object::View vExtracted) const
 Evaluate the specified extracted value.

Parameters:
vExtracted an extracted value to evaluate

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.

Constructor & Destructor Documentation

LikeFilter ( ValueExtractor::View  vExtractor,
String::View  vsPattern,
char16_t  chEscape = (char16_t) 0,
bool  fIgnoreCase = false 
) [protected]

Construct a LikeFilter for pattern match.

Parameters:
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


Member Function Documentation

virtual String::View getPattern (  )  const [virtual]

Obtain the filter's pattern string.

Returns:
the pattern string

virtual bool isIgnoreCase (  )  const [virtual]

Check whether or not the filter is case incensitive.

Returns:
true iff case insensitivity is specifically enabled

virtual char16_t getEscapeChar (  )  const [virtual]

Obtain the escape character that is used for escaping '' and '_' in the pattern or zero if there is no escape.

Returns:
the escape character

virtual void showPlan ( std::ostream &  out  )  const [virtual]

Display the execution plan that the LikeFilter has selected.

Parameters:
out the ostream to display the plan on

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.

Parameters:
vsValue the String value to match against this filter's pattern
Returns:
true iff the passed String value is LIKE this filter's pattern


The documentation for this class was generated from the following file: Copyright (c) 2000-2008 Oracle. All rights reserved.