Class NamedOperation<I_ITEM,O>
- java.lang.Object
-
- uk.gov.gchq.gaffer.named.operation.NamedOperation<I_ITEM,O>
-
- Type Parameters:
I_ITEM
- the input iterable item typeO
- the output type
- All Implemented Interfaces:
Closeable
,AutoCloseable
,Input<Iterable<? extends I_ITEM>>
,InputOutput<Iterable<? extends I_ITEM>,O>
,MultiInput<I_ITEM>
,Output<O>
,Operation
,Operations<Operation>
public class NamedOperation<I_ITEM,O> extends Object implements InputOutput<Iterable<? extends I_ITEM>,O>, MultiInput<I_ITEM>, Operation, Operations<Operation>
Named operations enable encapsulation of an OperationChain into a new singleNamedOperation
. TheNamedOperation
can be added to OperationChains and executed, just like any other Operation. When run it executes the encapsulated OperationChain. There are various possible uses for NamedOperations, including:- making it simpler to run frequently used OperationChains
- in a controlled way, allowing specific OperationChains to be run by a user that would not normally have permission to run them
Named operations must take an iterable as an input but can produce any type of output.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
NamedOperation.Builder<I_ITEM,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 NamedOperation()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Iterable<? extends I_ITEM>
getInput()
String
getOperationName()
List<Operation>
getOperations()
Should return aCollection
of all operations contained within theOperations
implementation.Map<String,String>
getOptions()
com.fasterxml.jackson.core.type.TypeReference<O>
getOutputTypeReference()
Map<String,Object>
getParameters()
void
setInput(Iterable<? extends I_ITEM> input)
void
setOperationName(String operationName)
void
setOptions(Map<String,String> options)
void
setParameters(LinkedHashMap<String,Object> parameters)
void
setParameters(Map<String,Object> parameters)
NamedOperation
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.Operations
flatten, getOperationsClass, updateOperations
-
Methods inherited from interface uk.gov.gchq.gaffer.operation.io.Output
castToOutputType, getOutputClass, getOutputType
-
-
-
-
Method Detail
-
setParameters
public void setParameters(LinkedHashMap<String,Object> parameters)
-
getOperationName
public String getOperationName()
-
setOperationName
public void setOperationName(String operationName)
-
getOutputTypeReference
public com.fasterxml.jackson.core.type.TypeReference<O> getOutputTypeReference()
- Specified by:
getOutputTypeReference
in interfaceOutput<I_ITEM>
-
shallowClone
public NamedOperation shallowClone()
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
-
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.
-
getOperations
public List<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_ITEM>
- Returns:
- A
Collection
ofOperation
s.
-
-