Class JavaScriptEngine
java.lang.Object
org.apache.bsf.util.BSFEngineImpl
org.apache.bsf.engines.javascript.JavaScriptEngine
- All Implemented Interfaces:
PropertyChangeListener
,EventListener
,BSFEngine
This is the interface to Netscape's Rhino (JavaScript) from the
Bean Scripting Framework.
The original version of this code was first written by Adam Peller for use in LotusXSL. Sanjiva took his code and adapted it for BSF.
- Author:
- Adam Peller <peller@lotus.com>, Sanjiva Weerawarana, Matthew J. Duftler, Norris Boyd
-
Field Summary
Fields inherited from class org.apache.bsf.util.BSFEngineImpl
classLoader, classPath, declaredBeans, lang, mgr, tempDir
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturn an object from an extension.void
declareBean
(BSFDeclaredBean bean) Declare a bean after the engine has been started.This is used by an application to evaluate a string containing some expression.void
initialize
(BSFManager mgr, String lang, Vector declaredBeans) Initialize the engine.void
undeclareBean
(BSFDeclaredBean bean) Undeclare a previously declared bean.Methods inherited from class org.apache.bsf.util.BSFEngineImpl
apply, compileApply, compileExpr, compileScript, exec, iexec, propertyChange, terminate
-
Constructor Details
-
JavaScriptEngine
public JavaScriptEngine()
-
-
Method Details
-
call
Return an object from an extension.- Parameters:
object
- Object on which to make the call (ignored).method
- The name of the method to call.args
- an array of arguments to be passed to the extension, which may be either Vectors of Nodes, or Strings.- Throws:
BSFException
- if anything goes wrong while eval'ing a BSFException is thrown. The reason indicates the problem.
-
declareBean
Description copied from interface:BSFEngine
Declare a bean after the engine has been started. Declared beans are beans that are named and which the engine must make available to the scripts it runs in the most first class way possible.- Specified by:
declareBean
in interfaceBSFEngine
- Overrides:
declareBean
in classBSFEngineImpl
- Parameters:
bean
- the bean to declare- Throws:
BSFException
- if the engine cannot do this operation
-
eval
This is used by an application to evaluate a string containing some expression.- Parameters:
source
- (context info) the source of this expression (e.g., filename)lineNo
- (context info) the line number in source for exprcolumnNo
- (context info) the column number in source for exproscript
- the expression to evaluate- Throws:
BSFException
- if anything goes wrong while eval'ing a BSFException is thrown. The reason indicates the problem.
-
initialize
Initialize the engine. Put the manager into the context-manager map hashtable too.- Specified by:
initialize
in interfaceBSFEngine
- Overrides:
initialize
in classBSFEngineImpl
- Parameters:
mgr
- The BSFManager that's hosting this engine.lang
- Language string which this engine is handling.declaredBeans
- Vector of BSFDeclaredObject containing beans that should be declared into the language runtime at init time as best as possible.- Throws:
BSFException
- if anything goes wrong while init'ing a BSFException is thrown. The reason indicates the problem.
-
undeclareBean
Description copied from interface:BSFEngine
Undeclare a previously declared bean.- Specified by:
undeclareBean
in interfaceBSFEngine
- Overrides:
undeclareBean
in classBSFEngineImpl
- Parameters:
bean
- the bean to undeclare- Throws:
BSFException
- if the engine cannot do this operation
-