Class ParametersExperiment

Object
ParametersExperiment

public class ParametersExperiment extends Object
Parameters for executing a task, when the log etc. are still bound to the experiment.
Author:
Owen Feehan
  • Constructor Details

    • ParametersExperiment

      public ParametersExperiment(ExecutionArguments executionArguments, String experimentIdentifier, OutputterChecked outputter, PathPrefixer prefixer, ExperimentFeedbackContext feedbackContext)
      Creates with initialization arguments.
      Parameters:
      executionArguments - user-supplied arguments that can further specify an experiment's execution.
      experimentIdentifier - uniquely identifies an experiment.
      outputter - where files are outputted to, and how that output occurs.
      prefixer - determines prefixes used in the paths for outputted files.
      feedbackContext - allows execution-time for particular operations to be recorded.
  • Method Details

    • experimentIdentifierForOutputPath

      public Optional<String> experimentIdentifierForOutputPath()
      The experiment-identifier to use in the output-path, if one should be used.
      Returns:
      the identifier, or Optional.empty() to exclude from output path.
    • getOutputter

      public Outputter getOutputter()
      An outputter that writes to the particular output-directory.
      Returns:
      the outputter.
    • getLoggerExperiment

      public StatefulMessageLogger getLoggerExperiment()
      The message-logger used for experiment-wide messages.
      Returns:
      the logger.
    • getExecutionArguments

      public ExecutionArguments getExecutionArguments()
      User-supplied arguments that can further specify an experiment's execution.
      Returns:
      the arguments.
    • deriveInitializationContext

      public InitializationContext deriveInitializationContext()
      Derives an InitializationContext from the parameters.
      Returns:
      a newly created InitializationContext.
    • executionTimeStatistics

      public RecordedExecutionTimes executionTimeStatistics()
      The execution-times that have been recorded.
      Returns:
      newly created RecordedExecutionTimes that describes the execution-times.
    • getExperimentIdentifier

      public String getExperimentIdentifier()
    • getContext

      public InputOutputContextStateful getContext()
    • getPrefixer

      public PathPrefixer getPrefixer()
      Determines prefixes used in the paths for outputted files.
    • getLoggerTaskCreator

      public LoggingDestination getLoggerTaskCreator()
      This is a means to create new log-reporters for each task.
    • setLoggerTaskCreator

      public void setLoggerTaskCreator(LoggingDestination loggerTaskCreator)
      This is a means to create new log-reporters for each task.
    • isDetailedLogging

      public boolean isDetailedLogging()
      Iff true, additional log messages are written to describe each job in terms of its unique name, output folder, average execution time etc.
    • getExecutionTimeRecorder

      public ExecutionTimeRecorder getExecutionTimeRecorder()
      Allows execution-time for particular operations to be recorded.