Package groovy.lang

Class 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  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      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 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 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 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 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 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 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 java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • DEFAULT_CODE_BASE

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

      • GroovyShell

        public GroovyShell()
      • GroovyShell

        public GroovyShell​(Binding binding)
      • GroovyShell

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

        public GroovyShell​(java.lang.ClassLoader parent)
      • 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 Detail

      • main

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

        public void resetLoadedClasses()
      • getContext

        public Binding getContext()
      • getProperty

        public java.lang.Object getProperty​(java.lang.String property)
        Description copied from interface: GroovyObject
        Retrieves a property value.
        Specified by:
        getProperty in interface GroovyObject
        Overrides:
        getProperty in class GroovyObjectSupport
        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.
        Specified by:
        setProperty in interface GroovyObject
        Overrides:
        setProperty in class GroovyObjectSupport
        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 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 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​(java.net.URI source,
                                    java.util.List 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 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)
      • 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,
                                         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
      • generateScriptName

        protected java.lang.String generateScriptName()