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>
AForEachoperation 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 classForEach.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()OperationgetOperation()Collection<Operation>getOperations()Should return aCollectionof all operations contained within theOperationsimplementation.Map<String,String>getOptions()com.fasterxml.jackson.core.type.TypeReference<Iterable<? extends O>>getOutputTypeReference()voidsetInput(Iterable<? extends I> input)voidsetOperation(Operation operation)voidsetOptions(Map<String,String> options)ForEach<I,O>shallowClone()Operation implementations should ensure a ShallowClone method is implemented.voidupdateOperations(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:
getOptionsin 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:
setOptionsin 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:OperationOperation 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:
shallowClonein 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:
getOutputTypeReferencein interfaceOutput<I>
-
updateOperations
public void updateOperations(Collection<Operation> operations)
Description copied from interface:OperationsUpdates the operations using the provided collection. By default this will just clear the current operations collection and add all the new operations.- Specified by:
updateOperationsin interfaceOperations<I>- Parameters:
operations- the new operations.
-
getOperations
public Collection<Operation> getOperations()
Description copied from interface:OperationsShould return aCollectionof all operations contained within theOperationsimplementation. The collection of operations may be modified by Gaffer.- Specified by:
getOperationsin interfaceOperations<I>- Returns:
- A
CollectionofOperations.
-
-