org.deegree.filter
Interface Operator

All Known Implementing Classes:
After, And, AnyInteracts, BBOX, Before, Begins, BegunBy, Beyond, BinaryComparisonOperator, ComparisonOperator, Contains, Crosses, Disjoint, During, DWithin, EndedBy, Equals, Intersects, LogicalOperator, Meets, MetBy, Not, Or, OverlappedBy, Overlaps, PropertyIsBetween, PropertyIsEqualTo, PropertyIsGreaterThan, PropertyIsGreaterThanOrEqualTo, PropertyIsLessThan, PropertyIsLessThanOrEqualTo, PropertyIsLike, PropertyIsNil, PropertyIsNotEqualTo, PropertyIsNull, SpatialOperator, TContains, TemporalOperator, TEquals, Touches, TOverlaps, Within

public interface Operator

Operator instances are predicates and the building blocks of OperatorFilters. They may be nested recursively -- an argument of an Operator can be another Operator so they form a tree structure that can be evaluated by traversing it.

Version:
$Revision:$, $Date:$
Author:
Markus Schneider , last edited by: $Author:$

Nested Class Summary
static class Operator.Type
          Convenience enum type for discriminating the different operator types.
 
Method Summary
<T> boolean
evaluate(T obj, XPathEvaluator<T> xpathEvaluator)
          Determines the value of the boolean operator.
 Operator.Type getType()
          Returns the type of operator.
 String toString(String indent)
           
 

Method Detail

getType

Operator.Type getType()
Returns the type of operator. Use this to safely determine the subtype of Operator.

Returns:
type of operator

evaluate

<T> boolean evaluate(T obj,
                     XPathEvaluator<T> xpathEvaluator)
                 throws FilterEvaluationException
Determines the value of the boolean operator.

Type Parameters:
T - type of the context object
Parameters:
obj - object that the operator is evaluated upon, must not be null
xpathEvaluator - used for evaluation of XPath expressions, must not be null
Returns:
true, if the operator evaluates to true, false otherwise
Throws:
FilterEvaluationException - if the evaluation fails

toString

String toString(String indent)


Copyright © 2011. All Rights Reserved.