Interface Environment

All Known Implementing Classes:
LineEnvironment, TerminalEnvironment

public interface Environment
Defines an execution environment within which tasks can operate. The main job that it does is to be able to provide a String value for a given Parameter object. Every invocation of a Task is expected to have a new Environment.
Author:
Mark Taylor
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Obtains a legal value for a given parameter from the environment and sets the parameter's value accordingly.
    void
    Clears a value for a given parameter.
    Returns an output stream into which error or logging output from a task can be written.
    Returns an array of parameter names which have been specified.
    Returns an output stream into which text output from a task can be written.
  • Method Details

    • acquireValue

      void acquireValue(Parameter<?> par) throws TaskException
      Obtains a legal value for a given parameter from the environment and sets the parameter's value accordingly.

      This environment should obtain a value for the parameter par in whatever way it sees fit, and must then call par's Parameter.setValueFromString(uk.ac.starlink.task.Environment, java.lang.String) method so that the parameter knows what its new value is. If the setValueFromString call throws a ParameterValueException the environment may try to get another value (for instance by re-prompting the user) or may give up and re-throw the exception.

      Parameters:
      par - the Parameter whose value is to be obtained and set
      Throws:
      TaskException
    • clearValue

      void clearValue(Parameter<?> par)
      Clears a value for a given parameter.
      Parameters:
      par - the Parameter whose value is to be cleared
    • getNames

      String[] getNames()
      Returns an array of parameter names which have been specified. The result is not necessarily an exhaustive list of all parameters whose values can be retrieved from this environment, since an interactive environment may be able to prompt the user for values, but it can give a list of values provided explicitly or without interactive prompts.
      Returns:
      array of names of known supplied parameters
    • getOutputStream

      PrintStream getOutputStream()
      Returns an output stream into which text output from a task can be written. This would correspond to standard output for a terminal-based application.
      Returns:
      a stream for text output
    • getErrorStream

      PrintStream getErrorStream()
      Returns an output stream into which error or logging output from a task can be written. This would correspodnd to standard error for a terminal-based application.
      Returns:
      a stream for error output