Class SummarizeBase<T extends InputFromManager,S>
- Direct Known Subclasses:
SummarizeInputs
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
afterAllJobsAreExecuted
(Summarizer<S> sharedState, InputOutputContext context) Called once after all calls toTask.executeJob(org.anchoranalysis.experiment.task.ParametersUnbound<T, S>)
.beforeAnyJobIsExecuted
(Outputter outputter, ConcurrencyPlan concurrencyPlan, List<T> inputs, ParametersExperiment parameters) Called once before all calls toTask.executeJob(org.anchoranalysis.experiment.task.ParametersUnbound<T, S>)
.void
doJobOnInput
(InputBound<T, Summarizer<S>> input) Performs the task on a particular input.protected abstract S
extractObjectForSummary
(T input) Extract object for summary.boolean
Is the execution-time of the task per-input expected to be very quick to execute?void
setSummarizer
(Summarizer<S> summarizer) Methods inherited from class org.anchoranalysis.experiment.bean.task.Task
defaultOutputs, executeJob, inputTypesExpected, isInputCompatibleWith
Methods inherited from class org.anchoranalysis.bean.AnchorBean
checkMisconfigured, describeBean, describeChildren, duplicateBean, fields, findFieldsOfClass, getBeanName, getLocalPath, localise, toString
-
Constructor Details
-
SummarizeBase
public SummarizeBase()
-
-
Method Details
-
beforeAnyJobIsExecuted
public Summarizer<S> beforeAnyJobIsExecuted(Outputter outputter, ConcurrencyPlan concurrencyPlan, List<T> inputs, ParametersExperiment parameters) throws ExperimentExecutionException Description copied from class:Task
Called once before all calls toTask.executeJob(org.anchoranalysis.experiment.task.ParametersUnbound<T, S>)
.- Specified by:
beforeAnyJobIsExecuted
in classTask<T extends InputFromManager,
Summarizer<S>> - Parameters:
outputter
- the output-manager for the experiment (not for an individual job)concurrencyPlan
- available numbers of processors that can callTask.executeJob(org.anchoranalysis.experiment.task.ParametersUnbound<T, S>)
inputs
- a list of inputs, each will result in at least one call toTask.executeJob(ParametersUnbound)
.parameters
- the experiment-parameters.- Returns:
- the shared-state that is passed to each call to
Task.executeJob(org.anchoranalysis.experiment.task.ParametersUnbound<T, S>)
and toTask.afterAllJobsAreExecuted(S, org.anchoranalysis.io.output.outputter.InputOutputContext)
. - Throws:
ExperimentExecutionException
- if a fatal error occurs executing this step of the experiment.
-
doJobOnInput
Description copied from class:Task
Performs the task on a particular input.- Specified by:
doJobOnInput
in classTask<T extends InputFromManager,
Summarizer<S>> - Parameters:
input
- the input for the job.- Throws:
JobExecutionException
- if an error occurs executing a particular job, that is not otherwise suppressed.
-
afterAllJobsAreExecuted
public void afterAllJobsAreExecuted(Summarizer<S> sharedState, InputOutputContext context) throws ExperimentExecutionException Description copied from class:Task
Called once after all calls toTask.executeJob(org.anchoranalysis.experiment.task.ParametersUnbound<T, S>)
.- Specified by:
afterAllJobsAreExecuted
in classTask<T extends InputFromManager,
Summarizer<S>> - Parameters:
sharedState
- the shared-statecontext
- IO-context for experiment (not for an individual job)- Throws:
ExperimentExecutionException
- if a fatal error occurs executing this step of the experiment.
-
hasVeryQuickPerInputExecution
public boolean hasVeryQuickPerInputExecution()Description copied from class:Task
Is the execution-time of the task per-input expected to be very quick to execute?- Specified by:
hasVeryQuickPerInputExecution
in classTask<T extends InputFromManager,
Summarizer<S>> - Returns:
- true iff the execution is expected to be very quick, false otherwise.
-
extractObjectForSummary
Extract object for summary. -
getSummarizer
-
setSummarizer
-