groovy.ui
Class InteractiveShell

java.lang.Object
  extended by groovy.ui.InteractiveShell
All Implemented Interfaces:
Runnable

public class InteractiveShell
extends Object
implements Runnable

A simple interactive shell for evaluating groovy expressions on the command line (aka. groovysh).

Version:
$Revision: 12135 $
Author:
James Strachan, Chris Poirier, Yuri Schimke, Brian McCallistair, Guillaume Laforge, Dierk Koenig, include the inspect command, June 2005, Jason Dillon

Constructor Summary
InteractiveShell()
          Default constructor, initializes uses new binding and system streams.
InteractiveShell(Binding binding, InputStream in, PrintStream out, PrintStream err)
          Constructs a new InteractiveShell instance
InteractiveShell(ClassLoader parent, Binding binding, InputStream in, PrintStream out, PrintStream err)
          Constructs a new InteractiveShell instance
InteractiveShell(InputStream in, PrintStream out, PrintStream err)
          Constructs a new InteractiveShell instance
 
Method Summary
static void main(String[] args)
          Entry point when called directly.
protected  String read()
          Reads a single statement from the command line.
protected  void reset()
          Resets the command-line processing machinery after use.
 void run()
          Reads commands and statements from input stream and processes them.
 void setAfterExecution(Closure afterExecution)
          A closure that is executed after the execution of the last script.
 void setBeforeExecution(Closure beforeExecution)
          A closure that is executed before the exection of a given script
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

InteractiveShell

public InteractiveShell()
                 throws IOException
Default constructor, initializes uses new binding and system streams.

Throws:
IOException

InteractiveShell

public InteractiveShell(InputStream in,
                        PrintStream out,
                        PrintStream err)
                 throws IOException
Constructs a new InteractiveShell instance

Parameters:
in - The input stream to use
out - The output stream to use
err - The error stream to use
Throws:
IOException

InteractiveShell

public InteractiveShell(Binding binding,
                        InputStream in,
                        PrintStream out,
                        PrintStream err)
                 throws IOException
Constructs a new InteractiveShell instance

Parameters:
binding - The binding instance
in - The input stream to use
out - The output stream to use
err - The error stream to use
Throws:
IOException

InteractiveShell

public InteractiveShell(ClassLoader parent,
                        Binding binding,
                        InputStream in,
                        PrintStream out,
                        PrintStream err)
                 throws IOException
Constructs a new InteractiveShell instance

Parameters:
parent - The parent ClassLoader
binding - The binding instance
in - The input stream to use
out - The output stream to use
err - The error stream to use
Throws:
IOException
Method Detail

main

public static void main(String[] args)
Entry point when called directly.


run

public void run()
Reads commands and statements from input stream and processes them.

Specified by:
run in interface Runnable

setBeforeExecution

public void setBeforeExecution(Closure beforeExecution)
A closure that is executed before the exection of a given script

Parameters:
beforeExecution - The closure to execute

setAfterExecution

public void setAfterExecution(Closure afterExecution)
A closure that is executed after the execution of the last script. The result of the execution is passed as the first argument to the closure (the value of 'it')

Parameters:
afterExecution - The closure to execute

reset

protected void reset()
Resets the command-line processing machinery after use.


read

protected String read()
Reads a single statement from the command line. Also identifies and processes command shell commands. Returns the command text on success, or null when command processing is complete. NOTE: Changed, for now, to read until 'execute' is issued. At 'execute', the statement must be complete.


Copyright © 2003-2009 The Codehaus. All rights reserved.