com.dotmarketing.scripting.engine
Class GroovyEngine

java.lang.Object
  extended by org.apache.bsf.util.BSFEngineImpl
      extended by com.dotmarketing.scripting.engine.GroovyEngine
All Implemented Interfaces:
java.beans.PropertyChangeListener, java.util.EventListener, org.apache.bsf.BSFEngine

public class GroovyEngine
extends org.apache.bsf.util.BSFEngineImpl

A BSF Engine for the Groovy scripting language.

It's derived from the Jython / JPython engine

Author:
James Strachan

Field Summary
protected  groovy.lang.GroovyShell shell
           
 
Fields inherited from class org.apache.bsf.util.BSFEngineImpl
classLoader, classPath, declaredBeans, lang, mgr, tempDir
 
Constructor Summary
GroovyEngine()
           
 
Method Summary
 java.lang.Object apply(java.lang.String source, int lineNo, int columnNo, java.lang.Object funcBody, java.util.Vector paramNames, java.util.Vector arguments)
          Allow an anonymous function to be declared and invoked
 java.lang.Object call(java.lang.Object sourceCode, java.lang.String method, java.lang.Object[] args)
          Call the named method of the given object.
 void declareBean(org.apache.bsf.BSFDeclaredBean bean)
          Declare a bean
 java.lang.Object eval(java.lang.String source, int lineNo, int columnNo, java.lang.Object script)
          Evaluate an expression.
 void exec(java.lang.String source, int lineNo, int columnNo, java.lang.Object script)
          Execute a script.
protected  groovy.lang.GroovyShell getEvalShell()
           
 void initialize(org.apache.bsf.BSFManager mgr, java.lang.String lang, java.util.Vector declaredBeans)
          Initialize the engine.
static java.lang.String readFile(java.lang.String filePath)
          Reads the entire content of a given file into a String and returns it.
 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 Detail

shell

protected groovy.lang.GroovyShell shell
Constructor Detail

GroovyEngine

public GroovyEngine()
Method Detail

apply

public java.lang.Object apply(java.lang.String source,
                              int lineNo,
                              int columnNo,
                              java.lang.Object funcBody,
                              java.util.Vector paramNames,
                              java.util.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 java.lang.Object call(java.lang.Object sourceCode,
                             java.lang.String method,
                             java.lang.Object[] args)
                      throws org.apache.bsf.BSFException
Call the named method of the given object.

Throws:
org.apache.bsf.BSFException

eval

public java.lang.Object eval(java.lang.String source,
                             int lineNo,
                             int columnNo,
                             java.lang.Object script)
                      throws org.apache.bsf.BSFException
Evaluate an expression.

Throws:
org.apache.bsf.BSFException

exec

public void exec(java.lang.String source,
                 int lineNo,
                 int columnNo,
                 java.lang.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,
                       java.lang.String lang,
                       java.util.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 groovy.lang.GroovyShell getEvalShell()
Returns:
a newly created GroovyShell using the same variable scope but a new class loader

readFile

public static java.lang.String readFile(java.lang.String filePath)
                                 throws java.io.IOException,
                                        DotSecurityException,
                                        DotDataException
Reads the entire content of a given file into a String and returns it.

Parameters:
filePath - - dotCMS file path
Returns:
Throws:
java.io.IOException
DotDataException
NoSuchUserException
DotSecurityException


Copyright © 2013 dotCMS Inc. All Rights Reserved.