#include <coherence/util/filter/LimitFilter.hpp>
Inherits Object, IndexAwareFilter, and PortableObject.
This filter is a mutable object that is modified by the query processor. Clients are supposed to hold a reference to this filter and repetitively pass it to query methods after setting a desired page context calling setPage, nextPage(), or previousPage.
Public Types | |||||||
typedef spec::Handle | Handle | ||||||
LimitFilter Handle definition. | |||||||
typedef spec::View | View | ||||||
LimitFilter View definition. | |||||||
typedef spec::Holder | Holder | ||||||
LimitFilter Holder definition. | |||||||
Public Member Functions | |||||||
virtual bool | evaluateEntry (Map::Entry::View vEntry) const | ||||||
Apply the test to a Map::Entry.
| |||||||
virtual bool | evaluate (Object::View v) const | ||||||
Apply the test to the object.
| |||||||
virtual size32_t | calculateEffectiveness (Map::View vMapIndexes, Set::View vSetKeys) const | ||||||
Given a Map of available indexes, determine if this IndexAwareFilter can use any of the indexes to assist in its processing, and if so, determine how effective the use of that index would be. The returned value is an effectiveness estimate of how well this filter can use the specified indexes to filter the specified keys. An operation that requires no more than a single access to the index content (i.e. Equals, NotEquals) has an effectiveness of one. Evaluation of a single entry is assumed to have an effectiveness that depends on the index implementation and is usually measured as a constant number of the single operations. This number is referred to as evaluation cost.
If the effectiveness of a filter evaluates to a number larger than the
| |||||||
virtual Filter::View | applyIndex (Map::View vMapIndexes, Set::Handle hSetKeys) const | ||||||
Filter remaining keys using a Map of available indexes. The filter is responsible for removing all keys from the passed set of keys that the applicable indexes can prove should be filtered. If the filter does not fully evaluate the remaining keys using just the index information, it must return a filter (which may be an EntryFilter) that can complete the task using an iterating implementation. If, on the other hand, the filter does fully evaluate the remaining keys using just the index information, then it should return null to indicate that no further filtering is necessary.
| |||||||
virtual void | readExternal (PofReader::Handle hIn) | ||||||
virtual void | writeExternal (PofWriter::Handle hOut) const | ||||||
virtual void | toStream (std::ostream &out) const | ||||||
Output a human-readable description of this Object to the given stream. | |||||||
virtual Filter::View | getFilter () const | ||||||
Obtain the Filter whose results are truncated by this filter. | |||||||
virtual int32_t | getPageSize () const | ||||||
Obtain the page size (expressed as a number of entries per page). | |||||||
virtual void | setPageSize (int32_t cPageSize) | ||||||
Set the page size (expressed as a number of entries per page). | |||||||
virtual int32_t | getPage () const | ||||||
Obtain a current page number (zero-based). | |||||||
virtual void | setPage (int32_t nPage) | ||||||
Set the page number (zero-based). | |||||||
virtual Comparator::View | getComparator () const | ||||||
Obtain the Comparator used to partition the entry values into pages. | |||||||
virtual void | setComparator (Comparator::View vComparator) | ||||||
Set the Comparator used to partition the values into pages. | |||||||
virtual Object::View | getTopAnchor () const | ||||||
Obtain the top anchor object, which is the last value object on a previous page. | |||||||
virtual void | setTopAnchor (Object::View vAnchor) | ||||||
Set the top anchor object. | |||||||
virtual Object::View | getBottomAnchor () const | ||||||
Obtain the bottom anchor object, which is the last value object on the current page. | |||||||
virtual void | setBottomAnchor (Object::View vAnchor) | ||||||
Set the bottom anchor object. | |||||||
virtual Object::View | getCookie () const | ||||||
Obtain the cookie object. | |||||||
virtual void | setCookie (Object::View vCookie) | ||||||
Set the cookie object. | |||||||
virtual void | nextPage () | ||||||
Switch to the next page. | |||||||
virtual void | previousPage () | ||||||
Switch to the previous page. | |||||||
Protected Member Functions | |||||||
LimitFilter () | |||||||
Default constructor (necessary for the PortableObject interface). | |||||||
LimitFilter (Filter::View vFilter, int32_t cPageSize) | |||||||
Construct a LimitFilter filter. | |||||||
LimitFilter (const LimitFilter &that) | |||||||
Copy constructor. |
LimitFilter | ( | Filter::View | vFilter, | |
int32_t | cPageSize | |||
) | [protected] |
Construct a LimitFilter filter.
virtual void toStream | ( | std::ostream & | out | ) | const [virtual] |
Output a human-readable description of this Object to the given stream.
out | the stream used to output the description |
Reimplemented from Object.
virtual Filter::View getFilter | ( | ) | const [virtual] |
virtual int32_t getPageSize | ( | ) | const [virtual] |
Obtain the page size (expressed as a number of entries per page).
virtual void setPageSize | ( | int32_t | cPageSize | ) | [virtual] |
virtual int32_t getPage | ( | ) | const [virtual] |
Obtain a current page number (zero-based).
virtual void setPage | ( | int32_t | nPage | ) | [virtual] |
Set the page number (zero-based).
Setting the page number to zero will reset the filter's state.
nPage | the page number |
virtual Comparator::View getComparator | ( | ) | const [virtual] |
Obtain the Comparator used to partition the entry values into pages.
This method is intended to be used only by query processors. Clients should not modify the content of this property.
virtual void setComparator | ( | Comparator::View | vComparator | ) | [virtual] |
Set the Comparator used to partition the values into pages.
This method is intended to be used only by query processors. Clients should not modify the content of this property.
vComparator | Comparator object |
virtual Object::View getTopAnchor | ( | ) | const [virtual] |
Obtain the top anchor object, which is the last value object on a previous page.
This method is intended to be used only by query processors. Clients should not modify the content of this property.
virtual void setTopAnchor | ( | Object::View | vAnchor | ) | [virtual] |
Set the top anchor object.
This method is intended to be used only by query processors. Clients should not modify the content of this property.
vAnchor | the top anchor object |
virtual Object::View getBottomAnchor | ( | ) | const [virtual] |
Obtain the bottom anchor object, which is the last value object on the current page.
This method is intended to be used only by query processors. Clients should not modify the content of this property.
virtual void setBottomAnchor | ( | Object::View | vAnchor | ) | [virtual] |
Set the bottom anchor object.
This method is intended to be used only by query processors. Clients should not modify the content of this property.
vAnchor | the bottom anchor object |
virtual Object::View getCookie | ( | ) | const [virtual] |
Obtain the cookie object.
This method is intended to be used only by query processors. Clients should not modify the content of this property.
virtual void setCookie | ( | Object::View | vCookie | ) | [virtual] |
Set the cookie object.
This method is intended to be used only by query processors. Clients should not modify the content of this property.
vCookie | the cookie object |