com.ibm.bsf.engines.javascript
Class JavaScriptEngine
java.lang.Object
|
+--com.ibm.bsf.util.BSFEngineImpl
|
+--com.ibm.bsf.engines.javascript.JavaScriptEngine
- public class JavaScriptEngine
- extends BSFEngineImpl
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 , Sanjiva Weerawarana, Matthew J. Duftler, Norris Boyd
Method Summary |
java.lang.Object |
call(java.lang.Object object,
java.lang.String method,
java.lang.Object[] args)
Return an object from an extension. |
void |
declareBean(BSFDeclaredBean bean)
Declare a bean after the engine has been started. |
java.lang.Object |
eval(java.lang.String source,
int lineNo,
int columnNo,
java.lang.Object oscript)
This is used by an application to evaluate a string containing
some expression. |
void |
initialize(BSFManager mgr,
java.lang.String lang,
java.util.Vector declaredBeans)
initialize the engine. |
void |
undeclareBean(BSFDeclaredBean bean)
Undeclare a previously declared bean. |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
JavaScriptEngine
public JavaScriptEngine()
initialize
public void initialize(BSFManager mgr,
java.lang.String lang,
java.util.Vector declaredBeans)
throws BSFException
- initialize the engine. put the manager into the context -> manager
map hashtable too.
- Overrides:
- initialize in class BSFEngineImpl
- Tags copied from interface: BSFEngine
- 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.
eval
public java.lang.Object eval(java.lang.String source,
int lineNo,
int columnNo,
java.lang.Object oscript)
throws BSFException
- This is used by an application to evaluate a string containing
some expression.
- Tags copied from interface: BSFEngine
- 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 exprexpr
- the expression to evaluate- Throws:
- BSFException - if anything goes wrong while eval'ing a
BSFException is thrown. The reason indicates the problem.
call
public java.lang.Object call(java.lang.Object object,
java.lang.String method,
java.lang.Object[] args)
throws BSFException
- 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.
declareBean
public void declareBean(BSFDeclaredBean bean)
throws BSFException
- 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.
- Overrides:
- declareBean in class BSFEngineImpl
- Tags copied from interface: BSFEngine
- Parameters:
bean
- the bean to declare- Throws:
- BSFException - if the engine cannot do this operation
undeclareBean
public void undeclareBean(BSFDeclaredBean bean)
throws BSFException
- Description copied from interface: BSFEngine
- Undeclare a previously declared bean.
- Overrides:
- undeclareBean in class BSFEngineImpl
- Tags copied from interface: BSFEngine
- Parameters:
bean
- the bean to undeclare- Throws:
- BSFException - if the engine cannot do this operation