Class ForEach<I,O>
- java.lang.Object
-
- uk.gov.gchq.gaffer.operation.impl.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>
AForEach
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 ]
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ForEach.Builder<I,O>
-
Nested classes/interfaces inherited from interface uk.gov.gchq.gaffer.operation.Operation
Operation.BaseBuilder<OP extends Operation,B extends Operation.BaseBuilder<OP,?>>
-
-
Constructor Summary
Constructors Constructor Description ForEach()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Iterable<? extends I>
getInput()
Operation
getOperation()
Collection<Operation>
getOperations()
Should return aCollection
of all operations contained within theOperations
implementation.Map<String,String>
getOptions()
com.fasterxml.jackson.core.type.TypeReference<Iterable<? extends O>>
getOutputTypeReference()
void
setInput(Iterable<? extends I> input)
void
setOperation(Operation operation)
void
setOptions(Map<String,String> options)
ForEach<I,O>
shallowClone()
Operation implementations should ensure a ShallowClone method is implemented.void
updateOperations(Collection<Operation> operations)
Updates the operations using the provided collection.-
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface uk.gov.gchq.gaffer.operation.io.MultiInput
createInputArray, setInput
-
Methods inherited from interface uk.gov.gchq.gaffer.operation.Operation
_getNullOrOptions, addOption, containsOption, getOption, getOption, validate, validateRequiredFieldPresent
-
Methods inherited from interface uk.gov.gchq.gaffer.operation.Operations
flatten, getOperationsClass
-
Methods inherited from interface uk.gov.gchq.gaffer.operation.io.Output
castToOutputType, getOutputClass, getOutputType
-
-
-
-
Method Detail
-
getOperation
public Operation getOperation()
-
setOperation
public void setOperation(Operation operation)
-
getOptions
public Map<String,String> getOptions()
- Specified by:
getOptions
in interfaceOperation
- 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 interfaceOperation
- 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 interfaceOperation
- Returns:
- shallow clone
- Throws:
org.apache.commons.lang3.exception.CloneFailedException
- if a Clone error occurs
-
getOutputTypeReference
public com.fasterxml.jackson.core.type.TypeReference<Iterable<? extends O>> getOutputTypeReference()
- Specified by:
getOutputTypeReference
in interfaceOutput<I>
-
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 interfaceOperations<I>
- Parameters:
operations
- the new operations.
-
getOperations
public Collection<Operation> getOperations()
Description copied from interface:Operations
Should return aCollection
of all operations contained within theOperations
implementation. The collection of operations may be modified by Gaffer.- Specified by:
getOperations
in interfaceOperations<I>
- Returns:
- A
Collection
ofOperation
s.
-
-