Package uk.ac.starlink.task
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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
acquireValue(Parameter<?> par)
Obtains a legal value for a given parameter from the environment and sets the parameter's value accordingly.void
clearValue(Parameter<?> par)
Clears a value for a given parameter.java.io.PrintStream
getErrorStream()
Returns an output stream into which error or logging output from a task can be written.java.lang.String[]
getNames()
Returns an array of parameter names which have been specified.java.io.PrintStream
getOutputStream()
Returns an output stream into which text output from a task can be written.
-
-
-
Method Detail
-
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
java.lang.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
java.io.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
java.io.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
-
-