sleep.console

Class ConsoleImplementation

public class ConsoleImplementation extends Object implements RuntimeWarningWatcher, Loadable, ConsoleProxy

The ConsoleImplementation is the "engine" behind the sleep console. To use the sleep console in your application use the following steps:

1. Instantiate the console implementation

ConsoleImplementation console;
console = new ConsoleImplementation(environment, variables, loader);

2. Install your implementation of sleep.console.ConsoleProxy into the console

console.setProxy(new MyConsoleProxy());

3. Start the Read, Parse, Print Loop in the console

console.rppl(); // starts the console

When embedding the console reusing the object of an already quitted console is not only allowed but it is also recommended. When a user quits the console with the quit command the console proxy is set to a dummy console that does not output anything. To restart a quitted console just set the appropriate proxy again and call the rppl() method.

See Also: ConsoleProxy ScriptLoader Variable

Constructor Summary
ConsoleImplementation()
Creates an implementation of the sleep console.
ConsoleImplementation(Hashtable _sharedEnvironment, Variable _sharedVariables, ScriptLoader _loader)
Creates an implementation of the sleep console that shares what your application is already using.
Method Summary
voidconsolePrint(String m)
Dummy implementation, does nothing really.
voidconsolePrintln(Object m)
Dummy implementation, does nothing.
StringconsoleReadln()
Dummy implementation, always returns null.
ConsoleProxygetProxy()
Returns the current console proxy being used
voidprocessScriptErrors(YourCodeSucksException ex)
a convienence method that formats and writes each syntax error to the proxy output
voidprocessScriptWarning(ScriptWarning warning)
voidrppl()
starts the console
booleanscriptLoaded(ScriptInstance script)
booleanscriptUnloaded(ScriptInstance script)
voidsetProxy(ConsoleProxy p)
Sets up the implementation of the consoles input/output facilities

Constructor Detail

ConsoleImplementation

public ConsoleImplementation()
Creates an implementation of the sleep console. The implementation created by this constructor is isolated from your applications environment. Any scripts loaded via this console will have only the default bridges.

ConsoleImplementation

public ConsoleImplementation(Hashtable _sharedEnvironment, Variable _sharedVariables, ScriptLoader _loader)
Creates an implementation of the sleep console that shares what your application is already using. Any of the parameters can be null.

Warning! If you choose to use the Sleep console in your application with this constructor, be aware that even if you don't specify a set of variables or an environment for scripts to share that they will all end up sharing something as the sleep console will create and install its own environment or variables if you don't specify something.

Parameters: _sharedEnvironment the environment contains all of the bridges (functions, predicates, and environments) _sharedVariables the Variable class is a container for Scalar variables with global, local, and script specific scope _loader the Script Loader is a container for managing all of the currently loaded scripts

Method Detail

consolePrint

public void consolePrint(String m)
Dummy implementation, does nothing really.

consolePrintln

public void consolePrintln(Object m)
Dummy implementation, does nothing.

consoleReadln

public String consoleReadln()
Dummy implementation, always returns null.

getProxy

public ConsoleProxy getProxy()
Returns the current console proxy being used

processScriptErrors

public void processScriptErrors(YourCodeSucksException ex)
a convienence method that formats and writes each syntax error to the proxy output

processScriptWarning

public void processScriptWarning(ScriptWarning warning)

rppl

public void rppl()
starts the console

scriptLoaded

public boolean scriptLoaded(ScriptInstance script)

scriptUnloaded

public boolean scriptUnloaded(ScriptInstance script)

setProxy

public void setProxy(ConsoleProxy p)
Sets up the implementation of the consoles input/output facilities