Class Reduce<T>
- java.lang.Object
-
- uk.gov.gchq.gaffer.operation.impl.Reduce<T>
-
- Type Parameters:
T
- the type of the output object (and also the type of object held in the inputIterable
.
- All Implemented Interfaces:
Closeable
,AutoCloseable
,Input<Iterable<? extends T>>
,InputOutput<Iterable<? extends T>,T>
,MultiInput<T>
,Output<T>
,Operation
public class Reduce<T> extends Object implements InputOutput<Iterable<? extends T>,T>, MultiInput<T>
AReduce
is a GafferOperation
which reduces anIterable
input of T to a single output value by applying a suppliedBinaryOperator
.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Reduce.Builder<T>
-
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 Reduce()
Reduce(BinaryOperator<T> aggregateFunction)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description BinaryOperator<T>
getAggregateFunction()
T
getIdentity()
Iterable<? extends T>
getInput()
Map<String,String>
getOptions()
com.fasterxml.jackson.core.type.TypeReference<T>
getOutputTypeReference()
void
setAggregateFunction(BinaryOperator<T> aggregateFunction)
void
setIdentity(T identity)
void
setInput(Iterable<? extends T> input)
void
setOptions(Map<String,String> options)
Reduce<T>
shallowClone()
Operation implementations should ensure a ShallowClone method is implemented.-
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.io.Output
castToOutputType, getOutputClass, getOutputType
-
-
-
-
Constructor Detail
-
Reduce
public Reduce()
-
Reduce
public Reduce(BinaryOperator<T> aggregateFunction)
-
-
Method Detail
-
getIdentity
public T getIdentity()
-
setIdentity
public void setIdentity(T identity)
-
getOutputTypeReference
public com.fasterxml.jackson.core.type.TypeReference<T> getOutputTypeReference()
- Specified by:
getOutputTypeReference
in interfaceOutput<T>
-
shallowClone
public Reduce<T> 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
-
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.
-
getAggregateFunction
public BinaryOperator<T> getAggregateFunction()
-
setAggregateFunction
public void setAggregateFunction(BinaryOperator<T> aggregateFunction)
-
-