#include <coherence/util/filter/BetweenFilter.hpp>
Inherits AndFilter.
We use the standard ISO/IEC 9075:1992 semantic, according to which "X between Y and Z" is equivalent to "X >= Y && X <= Z". In a case when either result of a method invocation or a value to compare are equal to null, the evaluate
test yields false
. This approach is equivalent to the way the NULL values are handled by SQL.
Public Types | |
typedef spec::Handle | Handle |
BetweenFilter Handle definition. | |
typedef spec::View | View |
BetweenFilter View definition. | |
typedef spec::Holder | Holder |
BetweenFilter Holder definition. | |
Public Member Functions | |
virtual bool | evaluateEntry (Map::Entry::View vEntry) const |
virtual bool | evaluate (Object::View v) const |
virtual size32_t | calculateEffectiveness (Map::View vMapIndexes, Set::View vSetKeys) const |
virtual Filter::View | applyIndex (Map::View vMapIndexes, Set::Handle hSetKeys) const |
virtual TypedHandle < const String > | toString () const |
virtual ValueExtractor::View | getValueExtractor () const |
Obtain the ValueExtractor used by this filter. | |
virtual Comparable::View | getLowerBound () const |
Obtain the lower bound of the range used by this filter. | |
virtual Comparable::View | getUpperBound () const |
Obtain the upper bound of the range used by this filter. | |
virtual bool | isLowerBoundInclusive () const |
Obtain the flag indicating whether extracted values matching the lower bound of the range used by this filter will evaluate to true. | |
virtual bool | isUpperBoundInclusive () const |
Obtain the flag indicating whether extracted values matching the upper bound of the range used by this filter will evaluate to true. | |
Protected Member Functions | |
BetweenFilter () | |
Default constructor (necessary for the PortableObject interface). | |
BetweenFilter (ValueExtractor::View vExtractor, Comparable::View vFrom, Comparable::View vTo) | |
Construct a BetweenFilter for testing "Between" condition. | |
BetweenFilter (ValueExtractor::View vExtractor, Comparable::View vLowerBound, Comparable::View vUpperBound, bool fIncludeLowerBound, bool fIncludeUpperBound) | |
Construct a BetweenFilter for testing "Between" condition. |
BetweenFilter | ( | ValueExtractor::View | vExtractor, | |
Comparable::View | vFrom, | |||
Comparable::View | vTo | |||
) | [protected] |
Construct a BetweenFilter for testing "Between" condition.
vExtractor | the ValueExtractor to use by this filter | |
vFrom | the object to compare the "Greater or Equals" boundary with | |
vTo | the object to compare the "Less or Equals" boundary with |
BetweenFilter | ( | ValueExtractor::View | vExtractor, | |
Comparable::View | vLowerBound, | |||
Comparable::View | vUpperBound, | |||
bool | fIncludeLowerBound, | |||
bool | fIncludeUpperBound | |||
) | [protected] |
Construct a BetweenFilter for testing "Between" condition.
vExtractor | The ValueExtractor to be used by this filter | |
vLowerBound | The lower bound of the range | |
vUpperBound | The upper bound of the range | |
fIncludeLowerBound | A flag indicating whether values matching the lower bound evaluate to true | |
fIncludeUpperBound | A flag indicating whether values matching the upper bound evaluate to true |
virtual ValueExtractor::View getValueExtractor | ( | ) | const [virtual] |
Obtain the ValueExtractor used by this filter.
virtual Comparable::View getLowerBound | ( | ) | const [virtual] |
Obtain the lower bound of the range used by this filter.
virtual Comparable::View getUpperBound | ( | ) | const [virtual] |
Obtain the upper bound of the range used by this filter.
virtual bool isLowerBoundInclusive | ( | ) | const [virtual] |
Obtain the flag indicating whether extracted values matching the lower bound of the range used by this filter will evaluate to true.
virtual bool isUpperBoundInclusive | ( | ) | const [virtual] |
Obtain the flag indicating whether extracted values matching the upper bound of the range used by this filter will evaluate to true.