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
Class BaseOperation<Context>

    java.lang.Object
      cascading.operation.BaseOperation<Context>

All Implemented Interfaces:
  Operation<Context>, Serializable

Direct Known Subclasses:
  AggregateBy.CompositeFunction, Average, AverageBy.AverageFinal, BaseAssertion, Count, Counter, DateOperation, Debug, ExtentBase, ExtremaBase, ExtremaValueBase, FieldFormatter, FieldJoiner, FilterNotNull, FilterNull, FirstNBuffer, Identity, Insert, Limit, Logic, NoOp, Not, RegexOperation, Sample, ScriptOperation, SetValue, Status, Sum, TagSoupParser, UnGroup, Unique.FilterPartialDuplicates, XPathOperation

    public abstract class BaseOperation<Context>

extends Object
implements Serializable, Operation<Context>

Class BaseOperation is the base class of predicate types that are applied to `Tuple` streams via the `Each` or `Every` `Pipe`.

Specific examples of Operations are `Function`, `Filter`, `Aggregator`, `Buffer`, and `Assertion`.

By default, `isSafe()` returns `true`.

See Also:
  Serialized Form

Field Summary
`protected Fields` | `fieldDeclaration` Field fieldDeclaration
`protected int` | `numArgs` Field numArgs
`protected String` | `trace` Field trace

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

Constructor Summary
`protected` | `BaseOperation()` Constructs a new instance that returns an `Fields.UNKNOWN` `Tuple` and accepts any number of arguments.
`protected` | `BaseOperation(Fields fieldDeclaration)` Constructs a new instance that returns the fields declared in fieldDeclaration and accepts any number of arguments.
`protected` | `BaseOperation(int numArgs)` Constructs a new instance that returns an unknown field set and accepts the given numArgs number of arguments.
`protected` | `BaseOperation(int numArgs, Fields fieldDeclaration)` Constructs a new instance that returns the fields declared in fieldDeclaration and accepts numArgs number of arguments.

Method Summary
`void` | `cleanup(FlowProcess flowProcess, OperationCall<Context> operationCall)` Method cleanup does nothing, and may safely be overridden.
`boolean` | `equals(Object object)`
`void` | `flush(FlowProcess flowProcess, OperationCall<Context> contextOperationCall)` The flush method is called when an Operation that is caching values must empty the cache.
`Fields` | `getFieldDeclaration()` Returns the fields created by this Operation instance.
`int` | `getNumArgs()` The minimum number of arguments this Operation expects from the calling `Each` or `Every` Operator.
`String` | `getTrace()` Method getTrace returns the trace of this BaseOperation object.
`int` | `hashCode()`
`boolean` | `isSafe()` Returns `true` if this Operation instance can safely execute on the same 'record' multiple times, `false` otherwise.
`void` | `prepare(FlowProcess flowProcess, OperationCall<Context> operationCall)` Method prepare does nothing, and may safely be overridden.
`static void` | `printOperationInternal(Operation operation, StringBuffer buffer, Scope scope)`
`String` | `toString()`
`static String` | `toStringInternal(Operation operation)`

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

Field Detail

### fieldDeclaration

    protected Fields fieldDeclaration

  Field fieldDeclaration

### numArgs

    protected int numArgs

  Field numArgs

### trace

    protected final String trace

  Field trace

Constructor Detail

### BaseOperation

    protected BaseOperation()

  Constructs a new instance that returns an `Fields.UNKNOWN` `Tuple` and accepts any number of arguments. It is a best practice to always declare the field names and number of arguments via one of the other constructors.

### BaseOperation

    protected BaseOperation(Fields fieldDeclaration)

  Constructs a new instance that returns the fields declared in fieldDeclaration and accepts any number of arguments.

  Parameters:
    `fieldDeclaration` - of type Fields

### BaseOperation

    protected BaseOperation(int numArgs)

  Constructs a new instance that returns an unknown field set and accepts the given numArgs number of arguments.

  Parameters:
    `numArgs` - of type numArgs

### BaseOperation

    protected BaseOperation(int numArgs,
                            Fields fieldDeclaration)

  Constructs a new instance that returns the fields declared in fieldDeclaration and accepts numArgs number of arguments.

  Parameters:
    `numArgs` - of type numArgs
    `fieldDeclaration` - of type Fields

Method Detail

### prepare

    public void prepare(FlowProcess flowProcess,
                        OperationCall<Context> operationCall)

  Method prepare does nothing, and may safely be overridden.

  Specified by:
    `prepare` in interface `Operation<Context>`

### flush

    public void flush(FlowProcess flowProcess,
                      OperationCall<Context> contextOperationCall)

  Description copied from interface: `Operation`
  The flush method is called when an Operation that is caching values must empty the cache. It is called before `Operation.cleanup(cascading.flow.FlowProcess, OperationCall)` is invoked.

  It is safe to cast the `OperationCall` to a `FunctionCall`, or equivalent, and get its `FunctionCall.getOutputCollector()`.

  Specified by:
    `flush` in interface `Operation<Context>`

### cleanup

    public void cleanup(FlowProcess flowProcess,
                        OperationCall<Context> operationCall)

  Method cleanup does nothing, and may safely be overridden.

  Specified by:
    `cleanup` in interface `Operation<Context>`

### getFieldDeclaration

    public Fields getFieldDeclaration()

  Description copied from interface: `Operation`
  Returns the fields created by this Operation instance. If this instance is a `Filter`, it should always return `Fields.ALL`.

  Specified by:
    `getFieldDeclaration` in interface `Operation<Context>`
  Returns:
    a Fields instance

### getNumArgs

    public int getNumArgs()

  Description copied from interface: `Operation`
  The minimum number of arguments this Operation expects from the calling `Each` or `Every` Operator.

  Operations should be willing to receive more arguments than expected, but should ignore them if they are unused, instead of failing.

  Specified by:
    `getNumArgs` in interface `Operation<Context>`
  Returns:
    an int

### isSafe

    public boolean isSafe()

  Description copied from interface: `Operation`
  Returns `true` if this Operation instance can safely execute on the same 'record' multiple times, `false` otherwise.

  That is, this Operation is safe if it has no side-effects, or if it does, they are idempotent.

  If seeing the same 'record' more than once can cause errors (internally or externally), this method must return `false`.

  Specified by:
    `isSafe` in interface `Operation<Context>`
  Returns:
    a boolean

### getTrace

    public String getTrace()

  Method getTrace returns the trace of this BaseOperation object.

  Returns:
    the trace (type String) of this BaseOperation object.

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

### toStringInternal

    public static String toStringInternal(Operation operation)

### printOperationInternal

    public static void printOperationInternal(Operation operation,
                                              StringBuffer buffer,
                                              Scope scope)

### equals

    public boolean equals(Object object)

  Overrides:
    `equals` in class `Object`

### hashCode

    public int hashCode()

  Overrides:
    `hashCode` in class `Object`

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.