Package groovy.lang

Class GroovyShell

java.lang.Object
groovy.lang.GroovyObjectSupport
groovy.lang.GroovyShell
All Implemented Interfaces:
GroovyObject

public class GroovyShell
extends GroovyObjectSupport
Represents a groovy shell capable of running arbitrary groovy scripts
  • Field Summary

    Fields
    Modifier and Type Field Description
    static java.lang.String DEFAULT_CODE_BASE  
  • Constructor Summary

    Constructors
    Constructor Description
    GroovyShell()  
    GroovyShell​(Binding binding)  
    GroovyShell​(Binding binding, CompilerConfiguration config)  
    GroovyShell​(GroovyShell shell)
    Creates a child shell using a new ClassLoader which uses the parent shell's class loader as its parent
    GroovyShell​(java.lang.ClassLoader parent)  
    GroovyShell​(java.lang.ClassLoader parent, Binding binding)  
    GroovyShell​(java.lang.ClassLoader parent, Binding binding, CompilerConfiguration config)  
    GroovyShell​(java.lang.ClassLoader parent, CompilerConfiguration config)  
    GroovyShell​(CompilerConfiguration config)  
  • Method Summary

    Modifier and Type Method Description
    java.lang.Object evaluate​(GroovyCodeSource codeSource)
    Evaluates some script against the current Binding and returns the result
    java.lang.Object evaluate​(java.io.File file)
    Evaluates some script against the current Binding and returns the result
    java.lang.Object evaluate​(java.io.Reader in)
    Evaluates some script against the current Binding and returns the result
    java.lang.Object evaluate​(java.io.Reader in, java.lang.String fileName)
    Evaluates some script against the current Binding and returns the result
    java.lang.Object evaluate​(java.lang.String scriptText)
    Evaluates some script against the current Binding and returns the result
    java.lang.Object evaluate​(java.lang.String scriptText, java.lang.String fileName)
    Evaluates some script against the current Binding and returns the result
    java.lang.Object evaluate​(java.lang.String scriptText, java.lang.String fileName, java.lang.String codeBase)
    Evaluates some script against the current Binding and returns the result.
    java.lang.Object evaluate​(java.net.URI uri)
    Evaluates some script against the current Binding and returns the result
    protected java.lang.String generateScriptName()  
    GroovyClassLoader getClassLoader()  
    Binding getContext()  
    java.lang.Object getProperty​(java.lang.String property)
    Retrieves a property value.
    java.lang.Object getVariable​(java.lang.String name)  
    static void main​(java.lang.String[] args)  
    Script parse​(GroovyCodeSource codeSource)
    Parses the given script and returns it ready to be run.
    Script parse​(java.io.File file)
    Parses the given script and returns it ready to be run
    Script parse​(java.io.Reader in)
    Parses the given script and returns it ready to be run
    Script parse​(java.io.Reader reader, java.lang.String fileName)
    Parses the given script and returns it ready to be run
    Script parse​(java.lang.String scriptText)
    Parses the given script and returns it ready to be run
    Script parse​(java.lang.String scriptText, java.lang.String fileName)  
    Script parse​(java.net.URI uri)
    Parses the given script and returns it ready to be run
    void removeVariable​(java.lang.String name)  
    void resetLoadedClasses()  
    java.lang.Object run​(GroovyCodeSource source, java.lang.String[] args)
    Runs the given script source with command line arguments
    java.lang.Object run​(GroovyCodeSource source, java.util.List<java.lang.String> args)
    Runs the given script source with command line arguments
    java.lang.Object run​(java.io.File scriptFile, java.lang.String[] args)
    Runs the given script file name with the given command line arguments
    java.lang.Object run​(java.io.File scriptFile, java.util.List<java.lang.String> list)
    A helper method which runs the given script file with the given command line arguments
    java.lang.Object run​(java.io.Reader in, java.lang.String fileName, java.lang.String[] args)
    Runs the given script with command line arguments
    java.lang.Object run​(java.io.Reader in, java.lang.String fileName, java.util.List<java.lang.String> list)
    Runs the given script with command line arguments
    java.lang.Object run​(java.lang.String scriptText, java.lang.String fileName, java.lang.String[] args)
    Runs the given script text with command line arguments
    java.lang.Object run​(java.lang.String scriptText, java.lang.String fileName, java.util.List<java.lang.String> list)
    A helper method which runs the given cl script with the given command line arguments
    java.lang.Object run​(java.net.URI source, java.lang.String[] args)
    Runs the given script source with command line arguments
    java.lang.Object run​(java.net.URI source, java.util.List<java.lang.String> args)
    Runs the given script source with command line arguments
    void setProperty​(java.lang.String property, java.lang.Object newValue)
    Sets the given property to the new value.
    void setVariable​(java.lang.String name, java.lang.Object value)  

    Methods inherited from class groovy.lang.GroovyObjectSupport

    getMetaClass, setMetaClass

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface groovy.lang.GroovyObject

    invokeMethod
  • Field Details

    • DEFAULT_CODE_BASE

      public static final java.lang.String DEFAULT_CODE_BASE
      See Also:
      Constant Field Values
  • Constructor Details

    • GroovyShell

      public GroovyShell()
    • GroovyShell

      public GroovyShell​(Binding binding)
    • GroovyShell

      public GroovyShell​(java.lang.ClassLoader parent, CompilerConfiguration config)
    • GroovyShell

      public GroovyShell​(CompilerConfiguration config)
    • GroovyShell

      public GroovyShell​(Binding binding, CompilerConfiguration config)
    • GroovyShell

      public GroovyShell​(java.lang.ClassLoader parent, Binding binding)
    • GroovyShell

      public GroovyShell​(java.lang.ClassLoader parent)
    • GroovyShell

      public GroovyShell​(java.lang.ClassLoader parent, Binding binding, CompilerConfiguration config)
    • GroovyShell

      public GroovyShell​(GroovyShell shell)
      Creates a child shell using a new ClassLoader which uses the parent shell's class loader as its parent
      Parameters:
      shell - is the parent shell used for the variable bindings and the parent class loader
  • Method Details

    • main

      public static void main​(java.lang.String[] args)
    • resetLoadedClasses

      public void resetLoadedClasses()
    • getContext

      public Binding getContext()
    • getClassLoader

      public GroovyClassLoader getClassLoader()
    • getProperty

      public java.lang.Object getProperty​(java.lang.String property)
      Description copied from interface: GroovyObject
      Retrieves a property value.
      Parameters:
      property - the name of the property of interest
      Returns:
      the given property
    • setProperty

      public void setProperty​(java.lang.String property, java.lang.Object newValue)
      Description copied from interface: GroovyObject
      Sets the given property to the new value.
      Parameters:
      property - the name of the property of interest
      newValue - the new value for the property
    • run

      public java.lang.Object run​(java.io.File scriptFile, java.util.List<java.lang.String> list) throws CompilationFailedException, java.io.IOException
      A helper method which runs the given script file with the given command line arguments
      Parameters:
      scriptFile - the file of the script to run
      list - the command line arguments to pass in
      Throws:
      CompilationFailedException
      java.io.IOException
    • run

      public java.lang.Object run​(java.lang.String scriptText, java.lang.String fileName, java.util.List<java.lang.String> list) throws CompilationFailedException
      A helper method which runs the given cl script with the given command line arguments
      Parameters:
      scriptText - is the text content of the script
      fileName - is the logical file name of the script (which is used to create the class name of the script)
      list - the command line arguments to pass in
      Throws:
      CompilationFailedException
    • run

      public java.lang.Object run​(java.io.File scriptFile, java.lang.String[] args) throws CompilationFailedException, java.io.IOException
      Runs the given script file name with the given command line arguments
      Parameters:
      scriptFile - the file name of the script to run
      args - the command line arguments to pass in
      Throws:
      CompilationFailedException
      java.io.IOException
    • run

      public java.lang.Object run​(java.lang.String scriptText, java.lang.String fileName, java.lang.String[] args) throws CompilationFailedException
      Runs the given script text with command line arguments
      Parameters:
      scriptText - is the text content of the script
      fileName - is the logical file name of the script (which is used to create the class name of the script)
      args - the command line arguments to pass in
      Throws:
      CompilationFailedException
    • run

      public java.lang.Object run​(GroovyCodeSource source, java.util.List<java.lang.String> args) throws CompilationFailedException
      Runs the given script source with command line arguments
      Parameters:
      source - is the source content of the script
      args - the command line arguments to pass in
      Throws:
      CompilationFailedException
    • run

      public java.lang.Object run​(GroovyCodeSource source, java.lang.String[] args) throws CompilationFailedException
      Runs the given script source with command line arguments
      Parameters:
      source - is the source content of the script
      args - the command line arguments to pass in
      Throws:
      CompilationFailedException
    • run

      public java.lang.Object run​(java.net.URI source, java.util.List<java.lang.String> args) throws CompilationFailedException, java.io.IOException
      Runs the given script source with command line arguments
      Parameters:
      source - is the source content of the script
      args - the command line arguments to pass in
      Throws:
      CompilationFailedException
      java.io.IOException
    • run

      public java.lang.Object run​(java.net.URI source, java.lang.String[] args) throws CompilationFailedException, java.io.IOException
      Runs the given script source with command line arguments
      Parameters:
      source - is the source content of the script
      args - the command line arguments to pass in
      Throws:
      CompilationFailedException
      java.io.IOException
    • run

      public java.lang.Object run​(java.io.Reader in, java.lang.String fileName, java.util.List<java.lang.String> list) throws CompilationFailedException
      Runs the given script with command line arguments
      Parameters:
      in - the stream reading the script
      fileName - is the logical file name of the script (which is used to create the class name of the script)
      list - the command line arguments to pass in
      Throws:
      CompilationFailedException
    • run

      public java.lang.Object run​(java.io.Reader in, java.lang.String fileName, java.lang.String[] args) throws CompilationFailedException
      Runs the given script with command line arguments
      Parameters:
      in - the stream reading the script
      fileName - is the logical file name of the script (which is used to create the class name of the script)
      args - the command line arguments to pass in
      Throws:
      CompilationFailedException
    • getVariable

      public java.lang.Object getVariable​(java.lang.String name)
    • setVariable

      public void setVariable​(java.lang.String name, java.lang.Object value)
    • removeVariable

      public void removeVariable​(java.lang.String name)
    • evaluate

      public java.lang.Object evaluate​(GroovyCodeSource codeSource) throws CompilationFailedException
      Evaluates some script against the current Binding and returns the result
      Parameters:
      codeSource -
      Throws:
      CompilationFailedException
    • evaluate

      public java.lang.Object evaluate​(java.lang.String scriptText) throws CompilationFailedException
      Evaluates some script against the current Binding and returns the result
      Parameters:
      scriptText - the text of the script
      Throws:
      CompilationFailedException
    • evaluate

      public java.lang.Object evaluate​(java.lang.String scriptText, java.lang.String fileName) throws CompilationFailedException
      Evaluates some script against the current Binding and returns the result
      Parameters:
      scriptText - the text of the script
      fileName - is the logical file name of the script (which is used to create the class name of the script)
      Throws:
      CompilationFailedException
    • evaluate

      public java.lang.Object evaluate​(java.lang.String scriptText, java.lang.String fileName, java.lang.String codeBase) throws CompilationFailedException
      Evaluates some script against the current Binding and returns the result. The .class file created from the script is given the supplied codeBase
      Throws:
      CompilationFailedException
    • evaluate

      public java.lang.Object evaluate​(java.io.File file) throws CompilationFailedException, java.io.IOException
      Evaluates some script against the current Binding and returns the result
      Parameters:
      file - is the file of the script (which is used to create the class name of the script)
      Throws:
      CompilationFailedException
      java.io.IOException
    • evaluate

      public java.lang.Object evaluate​(java.net.URI uri) throws CompilationFailedException, java.io.IOException
      Evaluates some script against the current Binding and returns the result
      Parameters:
      uri - is the URI of the script (which is used to create the class name of the script)
      Throws:
      CompilationFailedException
      java.io.IOException
    • evaluate

      public java.lang.Object evaluate​(java.io.Reader in) throws CompilationFailedException
      Evaluates some script against the current Binding and returns the result
      Parameters:
      in - the stream reading the script
      Throws:
      CompilationFailedException
    • evaluate

      public java.lang.Object evaluate​(java.io.Reader in, java.lang.String fileName) throws CompilationFailedException
      Evaluates some script against the current Binding and returns the result
      Parameters:
      in - the stream reading the script
      fileName - is the logical file name of the script (which is used to create the class name of the script)
      Throws:
      CompilationFailedException
    • parse

      public Script parse​(java.io.Reader reader, java.lang.String fileName) throws CompilationFailedException
      Parses the given script and returns it ready to be run
      Parameters:
      reader - the stream reading the script
      fileName - is the logical file name of the script (which is used to create the class name of the script)
      Returns:
      the parsed script which is ready to be run via Script.run()
      Throws:
      CompilationFailedException
    • parse

      public Script parse​(GroovyCodeSource codeSource) throws CompilationFailedException
      Parses the given script and returns it ready to be run. When running in a secure environment (-Djava.security.manager) codeSource.getCodeSource() determines what policy grants should be given to the script.
      Parameters:
      codeSource -
      Returns:
      ready to run script
      Throws:
      CompilationFailedException
    • parse

      public Script parse​(java.io.File file) throws CompilationFailedException, java.io.IOException
      Parses the given script and returns it ready to be run
      Parameters:
      file - is the file of the script (which is used to create the class name of the script)
      Throws:
      CompilationFailedException
      java.io.IOException
    • parse

      public Script parse​(java.net.URI uri) throws CompilationFailedException, java.io.IOException
      Parses the given script and returns it ready to be run
      Parameters:
      uri - is the URI of the script (which is used to create the class name of the script)
      Throws:
      CompilationFailedException
      java.io.IOException
    • parse

      public Script parse​(java.lang.String scriptText) throws CompilationFailedException
      Parses the given script and returns it ready to be run
      Parameters:
      scriptText - the text of the script
      Throws:
      CompilationFailedException
    • parse

      public Script parse​(java.lang.String scriptText, java.lang.String fileName) throws CompilationFailedException
      Throws:
      CompilationFailedException
    • parse

      public Script parse​(java.io.Reader in) throws CompilationFailedException
      Parses the given script and returns it ready to be run
      Parameters:
      in - the stream reading the script
      Throws:
      CompilationFailedException
    • generateScriptName

      protected java.lang.String generateScriptName()