#include <coherence/util/filter/ArrayFilter.hpp>
Public Types | |
typedef spec::Handle | Handle |
ArrayFilter Handle definition. | |
typedef spec::View | View |
ArrayFilter View definition. | |
typedef spec::Holder | Holder |
ArrayFilter Holder definition. | |
Public Member Functions | |
virtual void | readExternal (PofReader::Handle hIn) |
virtual void | writeExternal (PofWriter::Handle hOut) const |
virtual bool | equals (Object::View v) const |
Compare the ArrayFilter with another object to determine equality. | |
virtual size32_t | hashCode () const |
virtual TypedHandle < const String > | toString () const |
virtual ObjectArray::View | getFilters () const |
Obtain the Filter array. | |
virtual void | honorOrder () |
Ensure that the order of underlying filters is preserved by the applyIndex() and evaluateEntry() implementations. | |
Protected Member Functions | |
ArrayFilter () | |
Default constructor (necessary for the PortableObject interface). | |
ArrayFilter (ObjectArray::View vaFilter) | |
Construct a logical filter that applies a binary operator to a filter array. | |
virtual Filter::View | applyFilter (IndexAwareFilter::View vFilter, Map::View vMapIndexes, Set::Handle hSetKeys) const |
Apply the specified IndexAwareFilter to the specified keySet. | |
virtual void | optimizeFilterOrder (Map::View vMapIndexes, Set::View vSetKeys) const |
Sort all the participating filters according to their effectiveness. | |
Protected Attributes | |
MemberView< ObjectArray > | m_vaFilter |
The Filter array. | |
bool | m_fPreserveOrder |
Flag indicating whether or not the filter order should be preserved. | |
Classes | |
class | WeightedFilter |
A thin wrapper around a Filter allowing for sorting the filters according to their effectiveness. More... |
ArrayFilter | ( | ObjectArray::View | vaFilter | ) | [protected] |
Construct a logical filter that applies a binary operator to a filter array.
The result is defined as: vaFilter[0] <op> vaFilter[1] ... <op> vaFilter[n]
vaFilter | the filter array |
virtual bool equals | ( | Object::View | v | ) | const [virtual] |
Compare the ArrayFilter with another object to determine equality.
Two ArrayFilter objects are considered equal iff they belong to the same class and their underlying Filter arrays are deep-equal.
virtual ObjectArray::View getFilters | ( | ) | const [virtual] |
Obtain the Filter array.
virtual void honorOrder | ( | ) | [virtual] |
Ensure that the order of underlying filters is preserved by the applyIndex() and evaluateEntry() implementations.
virtual Filter::View applyFilter | ( | IndexAwareFilter::View | vFilter, | |
Map::View | vMapIndexes, | |||
Set::Handle | hSetKeys | |||
) | const [protected, virtual] |
Apply the specified IndexAwareFilter to the specified keySet.
vFilter | the IndexAwareFilter to apply an index to | |
vMapIndexes | the available MapIndex objects keyed by the related ValueExtractor; read-only | |
hSetKeys | the mutable set of keys that remain to be filtered |
virtual void optimizeFilterOrder | ( | Map::View | vMapIndexes, | |
Set::View | vSetKeys | |||
) | const [protected, virtual] |
Sort all the participating filters according to their effectiveness.
vMapIndexes | the available MapIndex objects keyed by the related ValueExtractor; read-only | |
vSetKeys | the set of keys that will be filtered; read-only |
bool m_fPreserveOrder [mutable, protected] |
Flag indicating whether or not the filter order should be preserved.