Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## cascading.operation.expression
Class ExpressionFilter

    java.lang.Object
      cascading.operation.BaseOperation<ScriptOperation.Context>
          cascading.operation.expression.ScriptOperation
              cascading.operation.expression.ExpressionOperation
                  cascading.operation.expression.ExpressionFilter

All Implemented Interfaces:
  Filter<ScriptOperation.Context>, Operation<ScriptOperation.Context>, Serializable

    public class ExpressionFilter

extends ExpressionOperation
implements Filter<ScriptOperation.Context>

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.

Specifically 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.

Field names used in the expression should be valid Java variable names; for example, '+' or '-' are not allowed. Also the use of a field name that begins with an upper-case character is likely to fail and should be avoided.

See Also:
  Serialized Form

Nested Class Summary

Nested classes/interfaces inherited from class cascading.operation.expression.ScriptOperation
`ScriptOperation.Context`

Field Summary

Fields inherited from class cascading.operation.expression.ScriptOperation
`block, parameterNames, parameterTypes, returnType`

Fields inherited from class cascading.operation.BaseOperation
`fieldDeclaration, numArgs, trace`

Fields inherited from interface cascading.operation.Operation
`ANY`

Constructor Summary
`ExpressionFilter(String expression, Class parameterType)` Constructor ExpressionFilter creates a new ExpressionFilter instance.
`ExpressionFilter(String expression, String[] parameterNames, Class[] parameterTypes)` Constructor ExpressionFilter creates a new ExpressionFilter instance.

Method Summary
`boolean` | `isRemove(FlowProcess flowProcess, FilterCall<ScriptOperation.Context> filterCall)` Method isRemove returns true if input should be removed from the tuple stream.

Methods inherited from class cascading.operation.expression.ExpressionOperation
`getEvaluator, getExpression, guessParameterNames`

Methods inherited from class cascading.operation.expression.ScriptOperation
`equals, evaluate, getBlock, getParameterNames, getParameterTypes, getReturnType, hashCode, prepare`

Methods inherited from class cascading.operation.BaseOperation
`cleanup, flush, getFieldDeclaration, getNumArgs, getTrace, isSafe, printOperationInternal, toString, toStringInternal`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Methods inherited from interface cascading.operation.Operation
`cleanup, flush, getFieldDeclaration, getNumArgs, isSafe, prepare`

Constructor Detail

### ExpressionFilter

    @ConstructorProperties(value={"expression","parameterType"})
    public ExpressionFilter(String expression,
                                                       Class parameterType)

  Constructor ExpressionFilter creates a new ExpressionFilter instance.

  Parameters:
    `expression` - of type String
    `parameterType` - of type Class

### ExpressionFilter

    @ConstructorProperties(value={"expression","parameterNames","parameterTypes"})
    public ExpressionFilter(String expression,
                                                       String[] parameterNames,
                                                       Class[] parameterTypes)

  Constructor ExpressionFilter creates a new ExpressionFilter instance.

  Parameters:
    `expression` - of type String
    `parameterNames` - of type String[]
    `parameterTypes` - of type Class[]

Method Detail

### isRemove

    public boolean isRemove(FlowProcess flowProcess,
                            FilterCall<ScriptOperation.Context> filterCall)

  Description copied from interface: `Filter`
  Method isRemove returns true if input should be removed from the tuple stream.

  Specified by:
    `isRemove` in interface `Filter<ScriptOperation.Context>`
  Parameters:
    `flowProcess` - of type FlowProcess
    `filterCall` - of type FilterCall
  Returns:
    boolean

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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