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. TheNamedOperationcan 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 classNamedOperation.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()StringgetOperationName()List<Operation>getOperations()Should return aCollectionof all operations contained within theOperationsimplementation.Map<String,String>getOptions()com.fasterxml.jackson.core.type.TypeReference<O>getOutputTypeReference()Map<String,Object>getParameters()voidsetInput(Iterable<? extends I_ITEM> input)voidsetOperationName(String operationName)voidsetOptions(Map<String,String> options)voidsetParameters(LinkedHashMap<String,Object> parameters)voidsetParameters(Map<String,Object> parameters)NamedOperationshallowClone()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:
getOutputTypeReferencein interfaceOutput<I_ITEM>
-
shallowClone
public NamedOperation shallowClone()
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
-
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.
-
getOperations
public List<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_ITEM>- Returns:
- A
CollectionofOperations.
-
-