T
- input-object typeS
- shared-state for jobpublic class InputOutputExperiment<T extends InputFromManager,S> extends OutputExperiment implements ReplaceInputManager<T>, ReplaceOutputManager, ReplaceTask<T,S>
InputManager
to specify inputs and a OutputManager
to specify outputting.
The following outputs are produced:
Output Name | Default? | Description |
---|---|---|
yes | A textual log file for non-job-specific messages, one for the entire experiment. | |
yes | A textual log file for job-specific messages, one for each job. |
OUTPUT_EXECUTION_TIME
Constructor and Description |
---|
InputOutputExperiment() |
Modifier and Type | Method and Description |
---|---|
protected MultiLevelOutputEnabled |
defaultOutputs()
If specified, default rules for determine which outputs are enabled or not.
|
protected Optional<TaskStatistics> |
executeExperimentWithParameters(ParametersExperiment parameters)
Executes the experiment for parameters.
|
InputManager<T> |
getInput()
The input-manager to specify where/which/how necessary inputs for the experiment occur.
|
LoggingDestination |
getLogTask()
Where log messages that do pertain to a specific job (input) appear.
|
String |
getMessageNoInputs()
A message written to the logger if no inputs exist for the experiment, and it thus ends
early.
|
JobProcessor<T,S> |
getTaskProcessor()
What task is associated with the experiment, and how it is processed.
|
void |
replaceInputManager(InputManager<T> inputManager)
Replace the existing @{link InputManager} associated with this class.
|
void |
replaceOutputManager(OutputManager output)
Replace the currently-assigned
OutputManager with another. |
void |
replaceTask(Task<T,S> taskToReplace)
Replace the currently-assigned
Task with another. |
void |
setInput(InputManager<T> input)
The input-manager to specify where/which/how necessary inputs for the experiment occur.
|
void |
setLogTask(LoggingDestination logTask)
Where log messages that do pertain to a specific job (input) appear.
|
void |
setMessageNoInputs(String messageNoInputs)
A message written to the logger if no inputs exist for the experiment, and it thus ends
early.
|
void |
setTaskProcessor(JobProcessor<T,S> taskProcessor)
What task is associated with the experiment, and how it is processed.
|
boolean |
useDetailedLogging()
Whether to log in more or less detail.
|
executeExperiment, getExperimentIdentifier, getLogExperiment, getOutput, isForceDetailedLogging, setExperimentIdentifier, setForceDetailedLogging, setLogExperiment, setOutput
associateXML, getXMLConfiguration
checkMisconfigured, describeBean, describeChildren, duplicateBean, fields, findFieldsOfClass, getBeanName, getLocalPath, localise, toString
public boolean useDetailedLogging()
Experiment
It's appropriate to perform more detailed logging for a lengthier experiment, but something quick and simple is preferable for a short job, which may only be outputted to the console.
useDetailedLogging
in class OutputExperiment
public void replaceInputManager(InputManager<T> inputManager) throws OperationFailedException
ReplaceInputManager
replaceInputManager
in interface ReplaceInputManager<T extends InputFromManager>
inputManager
- the new input-manager that is assigned.OperationFailedException
- if the assignment cannot complete successfully.public void replaceOutputManager(OutputManager output) throws OperationFailedException
ReplaceOutputManager
OutputManager
with another.replaceOutputManager
in interface ReplaceOutputManager
output
- the task to replace.OperationFailedException
- if the task cannot be successfully replaced.public void replaceTask(Task<T,S> taskToReplace) throws OperationFailedException
ReplaceTask
Task
with another.replaceTask
in interface ReplaceTask<T extends InputFromManager,S>
taskToReplace
- the task to replace.OperationFailedException
- if the task cannot be successfully replaced.protected Optional<TaskStatistics> executeExperimentWithParameters(ParametersExperiment parameters) throws ExperimentExecutionException
OutputExperiment
executeExperimentWithParameters
in class OutputExperiment
parameters
- a combination of run-time and bean-time specified elements used in the
experiment.ExperimentExecutionException
- if anything occurs stop the experiment finishing its
executionprotected MultiLevelOutputEnabled defaultOutputs()
OutputExperiment
defaultOutputs
in class OutputExperiment
public InputManager<T> getInput()
public void setInput(InputManager<T> input)
public JobProcessor<T,S> getTaskProcessor()
e.g. how the task processes the inputs in the form of jobs (sequentially, parallel, how many processors? etc.)
public void setTaskProcessor(JobProcessor<T,S> taskProcessor)
e.g. how the task processes the inputs in the form of jobs (sequentially, parallel, how many processors? etc.)
public LoggingDestination getLogTask()
This is in contrast to logExperiment
where non-job specific log messages appear.
public void setLogTask(LoggingDestination logTask)
This is in contrast to logExperiment
where non-job specific log messages appear.
public String getMessageNoInputs()
public void setMessageNoInputs(String messageNoInputs)
Copyright © 2010–2023 Owen Feehan, ETH Zurich, University of Zurich, Hoffmann-La Roche. All rights reserved.