cascading.operation.expression
Class ExpressionFilter

java.lang.Object
  extended by cascading.operation.BaseOperation
      extended by cascading.operation.expression.ExpressionOperation
          extended by cascading.operation.expression.ExpressionFilter
All Implemented Interfaces:
Filter, Operation, Serializable

public class ExpressionFilter
extends ExpressionOperation
implements Filter

Class ExpressionFilter dynamically resolves a given expression using argument Tuple values. Any Tuple that returns true for the given expression will be removed from the stream. This Filter is based on the Janino compiler.

Specifially this filter uses the ExpressionEvaluator, thus the syntax from that class is inherited here.

An expression may use field names directly as parameters in the expression, or field positions with the syntax "$n", where n is an integer.

Given an argument tuple with the fields "a" and "b", the following expression returns true:
a + b == $0 + $1

Further, the types of the tuple elements will be coerced into the given parameterTypes. Regardless of the actual tuple element values, they will be converted to the types expected by the expression.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class cascading.operation.expression.ExpressionOperation
expression, parameterTypes
 
Fields inherited from class cascading.operation.BaseOperation
fieldDeclaration, numArgs
 
Fields inherited from interface cascading.operation.Operation
ANY
 
Constructor Summary
ExpressionFilter(String expression, Class... parameterTypes)
          Constructor ExpressionFilter creates a new ExpressionFilter instance.
 
Method Summary
 boolean isRemove(TupleEntry input)
          Method isRemove returns true if input should be removed from the tuple stream.
 
Methods inherited from class cascading.operation.expression.ExpressionOperation
evaluate
 
Methods inherited from class cascading.operation.BaseOperation
getFieldDeclaration, getNumArgs, printOperationInternal, toString, toStringInternal
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface cascading.operation.Operation
getFieldDeclaration, getNumArgs
 

Constructor Detail

ExpressionFilter

public ExpressionFilter(String expression,
                        Class... parameterTypes)
Constructor ExpressionFilter creates a new ExpressionFilter instance.

Parameters:
expression - of type String
parameterTypes - of type Class[]
Method Detail

isRemove

public boolean isRemove(TupleEntry input)
Description copied from interface: Filter
Method isRemove returns true if input should be removed from the tuple stream.

Specified by:
isRemove in interface Filter
Parameters:
input - of type TupleEntry
Returns:
boolean
See Also:
Filter.isRemove(TupleEntry)


Copyright © 2007-2008 Concurrent, Inc. All Rights Reserved.