Class GreaterEqualsFilter
IFilter which compares the result of a member invocation with a value for "Greater or Equal" condition.
Inherited Members
Namespace: Tangosol.Util.Filter
Assembly: Coherence.dll
Syntax
public class GreaterEqualsFilter : ComparisonFilter, IPortableObject, IIndexAwareFilter, IEntryFilter, IFilter
Remarks
In a case when either result of a member 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.
Constructors
GreaterEqualsFilter()
Default constructor.
Declaration
public GreaterEqualsFilter()
GreaterEqualsFilter(string, double)
Construct a GreaterEqualsFilter for testing "Greater or Equals" condition.
Declaration
public GreaterEqualsFilter(string member, double value)
Parameters
Type | Name | Description |
---|---|---|
string | member | The name of the member to invoke via reflection. |
double | value | The double value to compare the result with. |
GreaterEqualsFilter(string, IComparable)
Construct a GreaterEqualFilter for testing "Greater or Equal" condition.
Declaration
public GreaterEqualsFilter(string member, IComparable value)
Parameters
Type | Name | Description |
---|---|---|
string | member | The name of the member to invoke via reflection. |
IComparable | value | The object to compare the result with. |
GreaterEqualsFilter(string, int)
Construct a GreaterEqualsFilter for testing "Greater or Equals" condition.
Declaration
public GreaterEqualsFilter(string member, int value)
Parameters
Type | Name | Description |
---|---|---|
string | member | The name of the member to invoke via reflection. |
int | value | The integer value to compare the result with. |
GreaterEqualsFilter(string, long)
Construct a GreaterEqualsFilter for testing "Greater or Equals" condition.
Declaration
public GreaterEqualsFilter(string member, long value)
Parameters
Type | Name | Description |
---|---|---|
string | member | The name of the member to invoke via reflection. |
long | value | The long value to compare the result with. |
GreaterEqualsFilter(string, float)
Construct a GreaterEqualsFilter for testing "Greater or Equals" condition.
Declaration
public GreaterEqualsFilter(string member, float value)
Parameters
Type | Name | Description |
---|---|---|
string | member | The name of the member to invoke via reflection. |
float | value | The float value to compare the result with. |
GreaterEqualsFilter(IValueExtractor, IComparable)
Construct a GreaterEqualFilter for testing "Greater or Equal" condition.
Declaration
public GreaterEqualsFilter(IValueExtractor extractor, IComparable value)
Parameters
Type | Name | Description |
---|---|---|
IValueExtractor | extractor | The IValueExtractor to use by this filter. |
IComparable | value | The object to compare the result with. |
Methods
ApplyIndex(IDictionary, ICollection)
Filter remaining keys using an IDictionary of available indexes.
Declaration
public IFilter ApplyIndex(IDictionary indexes, ICollection keys)
Parameters
Type | Name | Description |
---|---|---|
IDictionary | indexes | The available ICacheIndex objects keyed by the related IValueExtractor; read-only. |
ICollection | keys | The mutable set of keys that remain to be filtered. |
Returns
Type | Description |
---|---|
IFilter | An IFilter object that can be used to process the
remaining keys, or |
Remarks
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 IEntryFilter) 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.
CalculateEffectiveness(IDictionary, ICollection)
Given an IDictionary of available indexes, determine if this IIndexAwareFilter can use any of the indexes to assist in its processing, and if so, determine how effective the use of that index would be.
Declaration
public int CalculateEffectiveness(IDictionary indexes, ICollection keys)
Parameters
Type | Name | Description |
---|---|---|
IDictionary | indexes | The available ICacheIndex objects keyed by the related IValueExtractor; read-only. |
ICollection | keys | The set of keys that will be filtered; read-only. |
Returns
Type | Description |
---|---|
int | An effectiveness estimate of how well this filter can use the specified indexes to filter the specified keys. |
Remarks
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 keys.size() then a user could avoid using the index and iterate through the keys calling Evaluate rather than ApplyIndex.
EvaluateExtracted(object)
Evaluate the specified extracted value.
Declaration
protected override bool EvaluateExtracted(object extracted)
Parameters
Type | Name | Description |
---|---|---|
object | extracted | An extracted value to evaluate. |
Returns
Type | Description |
---|---|
bool | true if the test passes, false otherwise. |