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
Modifier and TypeMethodDescriptionvoid
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.Returns an output stream into which error or logging output from a task can be written.String[]
getNames()
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
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 callpar
'sParameter.setValueFromString(uk.ac.starlink.task.Environment, java.lang.String)
method so that the parameter knows what its new value is. If thesetValueFromString
call throws aParameterValueException
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
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
-