Oracle® Coherence Java API Reference
v3.5

E14977-01

com.tangosol.util.filter
Class PartitionedFilter

java.lang.Object
  extended by com.tangosol.util.Base
      extended by com.tangosol.util.filter.PartitionedFilter
All Implemented Interfaces:
Filter, EntryFilter

public class PartitionedFilter
extends Base
implements EntryFilter

Filter which limits the scope of another filter to those entries that have keys that belong to the specified partition set.

This filter is intended to be used in advanced scenarios, when a caller wants to retrieve the results of parallel processing restricted to a subset of partitions. This approach may somewhat complicate the client code, but can dramatically reduce the memory footprint used by the requestor.

Below are two examples of PartitionedFilter usage:

Note 1: This filter must be the outermost filter and cannot be used as a part of any composite filter (AndFilter, OrFilter, etc.)

Note 2: This filter is intended to be processed only on the client side of the partitioned cache service, so it intentionally does not implement the Serializable and PortableObject interfaces.

To iterate through a query on a partition-by-partition or member-by-member basis, use the PartitionedIterator class.

Since:
Coherence 3.4
Author:
gg 2008.02.06

Constructor Summary
PartitionedFilter(Filter filter, PartitionSet partitions)
          Construct a PartitionedFilter.
 
Method Summary
 boolean equals(java.lang.Object o)
          Compare the PartitionedFilter with another object to determine equality.
 boolean evaluate(java.lang.Object o)
          Apply the test to the object.
 boolean evaluateEntry(java.util.Map.Entry entry)
          Apply the test to a Map Entry.
 Filter getFilter()
          Obtain the wrapped Filter.
 PartitionSet getPartitionSet()
          Obtain the PartitionSet that specifies what partitions the wrapped filter will be applied to.
 int hashCode()
          Determine a hash value for the PartitionedFilter object according to the general Object.hashCode() contract.
 java.lang.String toString()
          Return a human-readable description for this Filter.
 

Constructor Detail

PartitionedFilter

public PartitionedFilter(Filter filter,
                         PartitionSet partitions)
Construct a PartitionedFilter.

Parameters:
filter - the underlying (wrapped) filter
partitions - the subset of partitions the filter should run against
Method Detail

evaluate

public boolean evaluate(java.lang.Object o)
Apply the test to the object.

Specified by:
evaluate in interface Filter
Parameters:
o - the object to test
Returns:
true if the test passes, false otherwise

evaluateEntry

public boolean evaluateEntry(java.util.Map.Entry entry)
Apply the test to a Map Entry.

Specified by:
evaluateEntry in interface EntryFilter
Parameters:
entry - the Map Entry to evaluate; never null
Returns:
true if the test passes, false otherwise

getFilter

public Filter getFilter()
Obtain the wrapped Filter.

Returns:
the wrapped filter object

getPartitionSet

public PartitionSet getPartitionSet()
Obtain the PartitionSet that specifies what partitions the wrapped filter will be applied to.

Returns:
the partition set

equals

public boolean equals(java.lang.Object o)
Compare the PartitionedFilter with another object to determine equality. Two PartitionedFilter objects are considered equal iff the wrapped filters and partition sets are equal.

Returns:
true iff this PartitionedFilter and the passed object are equivalent PartitionedFilter objects

hashCode

public int hashCode()
Determine a hash value for the PartitionedFilter object according to the general Object.hashCode() contract.

Returns:
an integer hash value for this PartitionedFilter object

toString

public java.lang.String toString()
Return a human-readable description for this Filter.

Returns:
a String description of the Filter

Oracle® Coherence Java API Reference
v3.5

E14977-01

Copyright © 2000, 2009, Oracle. All rights reserved.