Class ForEach<I,​O>

  • Type Parameters:
    I - the type of items in the input iterable. This is the same type as the input to the supplied Operation.
    O - the type of items in the output iterable. This is the same type as the output from the supplied Operation.
    All Implemented Interfaces:
    Closeable, AutoCloseable, Input<Iterable<? extends I>>, InputOutput<Iterable<? extends I>,​Iterable<? extends O>>, MultiInput<I>, Output<Iterable<? extends O>>, Operation, Operations<Operation>

    public class ForEach<I,​O>
    extends Object
    implements InputOutput<Iterable<? extends I>,​Iterable<? extends O>>, MultiInput<I>, Operations<Operation>
    A ForEach operation runs the supplied operation on an Iterable of inputs.

    For the given iterable of inputs, it will run the supplied operation for each input one at a time.

    For example, a ForEach operation with:

    input = [ [1,2,3], [4,5], [6] ] operation = Count

    The results would be:

    [ 3, 2, 1 ]

    • Constructor Detail

      • ForEach

        public ForEach()
    • Method Detail

      • getOperation

        public Operation getOperation()
      • setOperation

        public void setOperation​(Operation operation)
      • getOptions

        public Map<String,​String> getOptions()
        Specified by:
        getOptions in interface Operation
        Returns:
        the operation options. This may contain store specific options such as authorisation strings or and other properties required for the operation to be executed. Note these options will probably not be interpreted in the same way by every store implementation.
      • setOptions

        public void setOptions​(Map<String,​String> options)
        Specified by:
        setOptions in interface Operation
        Parameters:
        options - the operation options. This may contain store specific options such as authorisation strings or and other properties required for the operation to be executed. Note these options will probably not be interpreted in the same way by every store implementation.
      • shallowClone

        public ForEach<I,​O> shallowClone()
                                        throws org.apache.commons.lang3.exception.CloneFailedException
        Description copied from interface: Operation
        Operation implementations should ensure a ShallowClone method is implemented. Performs a shallow clone. Creates a new instance and copies the fields across. It does not clone the fields. If the operation contains nested operations, these must also be cloned.
        Specified by:
        shallowClone in interface Operation
        Returns:
        shallow clone
        Throws:
        org.apache.commons.lang3.exception.CloneFailedException - if a Clone error occurs
      • updateOperations

        public void updateOperations​(Collection<Operation> operations)
        Description copied from interface: Operations
        Updates the operations using the provided collection. By default this will just clear the current operations collection and add all the new operations.
        Specified by:
        updateOperations in interface Operations<I>
        Parameters:
        operations - the new operations.