Package uk.gov.gchq.gaffer.operation
Class OperationChain<OUT>
- java.lang.Object
- 
- uk.gov.gchq.gaffer.operation.OperationChain<OUT>
 
- 
- Type Parameters:
- OUT- the output type of the- OperationChain. This should match the output type of the last- Operationin the chain.
 - All Implemented Interfaces:
- Closeable,- AutoCloseable,- Output<OUT>,- Operation,- Operations<Operation>
 - Direct Known Subclasses:
- OperationChainDAO
 
 public class OperationChain<OUT> extends Object implements Output<OUT>, Operations<Operation> An A couple of special cases:OperationChainholds a list ofOperations that are chained together - ie. the output of one operation is passed to the input of the next. For the chaining to be successful the operations must be ordered correctly so the O and I types are compatible. The safest way to ensure they will be compatible is to use the OperationChain.Builder to construct the chain.- An operation with no output can come before any operation.
- An operation with no input can follow any operation - the output from the previous operation will just be lost.
 - See Also:
- OperationChain.Builder
 
- 
- 
Nested Class SummaryNested Classes Modifier and Type Class Description static classOperationChain.BuilderABuilderis a type safe way of building anOperationChain.static classOperationChain.NoOutputBuilderstatic classOperationChain.OutputBuilder<OUT>- 
Nested classes/interfaces inherited from interface uk.gov.gchq.gaffer.operation.OperationOperation.BaseBuilder<OP extends Operation,B extends Operation.BaseBuilder<OP,?>>
 
- 
 - 
Constructor SummaryConstructors Constructor Description OperationChain()OperationChain(List<Operation> operations)OperationChain(List<Operation> operations, boolean flatten)OperationChain(Output<OUT> operation)OperationChain(Operation operation)OperationChain(Operation... operations)
 - 
Method SummaryAll Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Operation implementations should ensure that all closeable fields are closed in this method.booleanequals(Object obj)List<Operation>getOperations()Should return aCollectionof all operations contained within theOperationsimplementation.Map<String,String>getOptions()com.fasterxml.jackson.core.type.TypeReference<OUT>getOutputTypeReference()inthashCode()voidsetOptions(Map<String,String> options)OperationChain<OUT>shallowClone()Operation implementations should ensure a ShallowClone method is implemented.StringtoOverviewString()StringtoString()static <O> OperationChain<O>wrap(Output<O> operation)static OperationChain<?>wrap(Operation operation)- 
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.Operationsflatten, getOperationsClass, updateOperations
 - 
Methods inherited from interface uk.gov.gchq.gaffer.operation.io.OutputcastToOutputType, getOutputClass, getOutputType
 
- 
 
- 
- 
- 
Method Detail- 
wrappublic static OperationChain<?> wrap(Operation operation) 
 - 
wrappublic static <O> OperationChain<O> wrap(Output<O> operation) 
 - 
getOutputTypeReferencepublic com.fasterxml.jackson.core.type.TypeReference<OUT> getOutputTypeReference() - Specified by:
- getOutputTypeReferencein interface- Output<OUT>
 
 - 
getOperationspublic 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 interface- Operations<OUT>
- Returns:
- A CollectionofOperations.
 
 - 
shallowClonepublic OperationChain<OUT> 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 interface- Operation
- Returns:
- shallow clone
- Throws:
- org.apache.commons.lang3.exception.CloneFailedException- if a Clone error occurs
 
 - 
getOptionspublic Map<String,String> getOptions() - Specified by:
- getOptionsin interface- Operation
- 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.
 
 - 
setOptionspublic void setOptions(Map<String,String> options) - Specified by:
- setOptionsin interface- Operation
- 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.
 
 - 
toOverviewStringpublic String toOverviewString() 
 - 
closepublic void close() throws IOExceptionDescription copied from interface:OperationOperation implementations should ensure that all closeable fields are closed in this method.- Specified by:
- closein interface- AutoCloseable
- Specified by:
- closein interface- Closeable
- Specified by:
- closein interface- Operation
- Throws:
- IOException- if an I/O error occurs
 
 
- 
 
-