Class GroovyEngine

java.lang.Object
org.apache.bsf.util.BSFEngineImpl
org.codehaus.groovy.bsf.GroovyEngine
All Implemented Interfaces:
PropertyChangeListener, EventListener, org.apache.bsf.BSFEngine
Direct Known Subclasses:
CachingGroovyEngine

public class GroovyEngine
extends org.apache.bsf.util.BSFEngineImpl
A BSF Engine for the Groovy scripting language.

It's inspired from the Jython engine

  • Field Summary

    Fields 
    Modifier and Type Field Description
    protected GroovyShell shell  

    Fields inherited from class org.apache.bsf.util.BSFEngineImpl

    classLoader, classPath, declaredBeans, lang, mgr, tempDir
  • Constructor Summary

    Constructors 
    Constructor Description
    GroovyEngine()  
  • Method Summary

    Modifier and Type Method Description
    Object apply​(String source, int lineNo, int columnNo, Object funcBody, Vector paramNames, Vector arguments)
    Allow an anonymous function to be declared and invoked
    Object call​(Object object, String method, Object[] args)
    Call the named method of the given object.
    void declareBean​(org.apache.bsf.BSFDeclaredBean bean)
    Declare a bean
    Object eval​(String source, int lineNo, int columnNo, Object script)
    Evaluate an expression.
    void exec​(String source, int lineNo, int columnNo, Object script)
    Execute a script.
    protected GroovyShell getEvalShell()  
    void initialize​(org.apache.bsf.BSFManager mgr, String lang, Vector declaredBeans)
    Initialize the engine.
    void undeclareBean​(org.apache.bsf.BSFDeclaredBean bean)
    Undeclare a previously declared bean.

    Methods inherited from class org.apache.bsf.util.BSFEngineImpl

    compileApply, compileExpr, compileScript, iexec, propertyChange, terminate

    Methods inherited from class java.lang.Object

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

  • Constructor Details

  • Method Details

    • apply

      public Object apply​(String source, int lineNo, int columnNo, Object funcBody, Vector paramNames, Vector arguments) throws org.apache.bsf.BSFException
      Allow an anonymous function to be declared and invoked
      Specified by:
      apply in interface org.apache.bsf.BSFEngine
      Overrides:
      apply in class org.apache.bsf.util.BSFEngineImpl
      Throws:
      org.apache.bsf.BSFException
    • call

      public Object call​(Object object, String method, Object[] args) throws org.apache.bsf.BSFException
      Call the named method of the given object.
      Throws:
      org.apache.bsf.BSFException
    • eval

      public Object eval​(String source, int lineNo, int columnNo, Object script) throws org.apache.bsf.BSFException
      Evaluate an expression.
      Throws:
      org.apache.bsf.BSFException
    • exec

      public void exec​(String source, int lineNo, int columnNo, Object script) throws org.apache.bsf.BSFException
      Execute a script.
      Specified by:
      exec in interface org.apache.bsf.BSFEngine
      Overrides:
      exec in class org.apache.bsf.util.BSFEngineImpl
      Throws:
      org.apache.bsf.BSFException
    • initialize

      public void initialize​(org.apache.bsf.BSFManager mgr, String lang, Vector declaredBeans) throws org.apache.bsf.BSFException
      Initialize the engine.
      Specified by:
      initialize in interface org.apache.bsf.BSFEngine
      Overrides:
      initialize in class org.apache.bsf.util.BSFEngineImpl
      Throws:
      org.apache.bsf.BSFException
    • declareBean

      public void declareBean​(org.apache.bsf.BSFDeclaredBean bean) throws org.apache.bsf.BSFException
      Declare a bean
      Specified by:
      declareBean in interface org.apache.bsf.BSFEngine
      Overrides:
      declareBean in class org.apache.bsf.util.BSFEngineImpl
      Throws:
      org.apache.bsf.BSFException
    • undeclareBean

      public void undeclareBean​(org.apache.bsf.BSFDeclaredBean bean) throws org.apache.bsf.BSFException
      Undeclare a previously declared bean.
      Specified by:
      undeclareBean in interface org.apache.bsf.BSFEngine
      Overrides:
      undeclareBean in class org.apache.bsf.util.BSFEngineImpl
      Throws:
      org.apache.bsf.BSFException
    • getEvalShell

      protected GroovyShell getEvalShell()
      Returns:
      a newly created GroovyShell using the same variable scope but a new class loader