public abstract class BSFEngineImpl extends java.lang.Object implements BSFEngine
| Modifier and Type | Field and Description |
|---|---|
protected java.lang.ClassLoader |
classLoader |
protected java.lang.String |
classPath |
protected java.util.Vector |
declaredBeans |
protected java.lang.String |
lang |
protected BSFManager |
mgr |
protected java.lang.String |
tempDir |
| Constructor and Description |
|---|
BSFEngineImpl() |
| Modifier and Type | Method and Description |
|---|---|
java.lang.Object |
apply(java.lang.String source,
int lineNo,
int columnNo,
java.lang.Object funcBody,
java.util.Vector paramNames,
java.util.Vector arguments)
Default impl of apply - calls eval ignoring parameters and returns
the result.
|
void |
compileApply(java.lang.String source,
int lineNo,
int columnNo,
java.lang.Object funcBody,
java.util.Vector paramNames,
java.util.Vector arguments,
CodeBuffer cb)
Default impl of compileApply - calls compileExpr ignoring parameters.
|
void |
compileExpr(java.lang.String source,
int lineNo,
int columnNo,
java.lang.Object expr,
CodeBuffer cb)
Default impl of compileExpr - generates code that'll create a new
manager, evaluate the expression, and return the value.
|
void |
compileScript(java.lang.String source,
int lineNo,
int columnNo,
java.lang.Object script,
CodeBuffer cb)
Default impl of compileScript - generates code that'll create a new
manager, and execute the script.
|
void |
declareBean(BSFDeclaredBean bean)
Declare a bean after the engine has been started.
|
void |
exec(java.lang.String source,
int lineNo,
int columnNo,
java.lang.Object script)
Default impl of execute - calls eval and ignores the result.
|
void |
iexec(java.lang.String source,
int lineNo,
int columnNo,
java.lang.Object script)
Default impl of interactive execution - calls eval and ignores the result.
|
void |
initialize(BSFManager mgr,
java.lang.String lang,
java.util.Vector declaredBeans)
initialize the engine; called right after construction by
the manager.
|
void |
propertyChange(java.beans.PropertyChangeEvent e)
Receive property change events from the manager and update my fields
as needed.
|
void |
terminate()
Graceful termination
|
void |
undeclareBean(BSFDeclaredBean bean)
Undeclare a previously declared bean.
|
protected BSFManager mgr
protected java.lang.String lang
protected java.util.Vector declaredBeans
protected java.lang.String classPath
protected java.lang.String tempDir
protected java.lang.ClassLoader classLoader
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 BSFException
apply in interface BSFEnginesource - (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 exprfuncBody - the multi-line, value returning script to evaluateparamNames - the names of the parameters above assumesarguments - values of the above parametersBSFException - if anything goes wrong while doin' it.public void compileApply(java.lang.String source,
int lineNo,
int columnNo,
java.lang.Object funcBody,
java.util.Vector paramNames,
java.util.Vector arguments,
CodeBuffer cb)
throws BSFException
compileApply in interface BSFEnginesource - (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 exprfuncBody - the multi-line, value returning script to evaluateparamNames - the names of the parameters above assumesarguments - values of the above parameterscb - the CodeBuffer to compile intoBSFException - if anything goes wrong while doin' it.public void compileExpr(java.lang.String source,
int lineNo,
int columnNo,
java.lang.Object expr,
CodeBuffer cb)
throws BSFException
compileExpr in interface BSFEnginesource - (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 compilecb - the CodeBuffer to compile intoBSFException - if anything goes wrong while compiling a
BSFException is thrown. The reason indicates the problem.public void compileScript(java.lang.String source,
int lineNo,
int columnNo,
java.lang.Object script,
CodeBuffer cb)
throws BSFException
compileScript in interface BSFEnginesource - (context info) the source of this script
(e.g., filename)lineNo - (context info) the line number in source for scriptcolumnNo - (context info) the column number in source for scriptscript - the script to compilecb - the CodeBuffer to compile intoBSFException - if anything goes wrong while compiling a
BSFException is thrown. The reason indicates the problem.public void declareBean(BSFDeclaredBean bean) throws BSFException
BSFEnginedeclareBean in interface BSFEnginebean - the bean to declareBSFException - if the engine cannot do this operationpublic void exec(java.lang.String source,
int lineNo,
int columnNo,
java.lang.Object script)
throws BSFException
exec in interface BSFEnginesource - (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 exprscript - the script to executeBSFException - if anything goes wrong while exec'ing a
BSFException is thrown. The reason indicates the problem.public void iexec(java.lang.String source,
int lineNo,
int columnNo,
java.lang.Object script)
throws BSFException
iexec in interface BSFEnginesource - (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 exprscript - the script to executeBSFException - if anything goes wrong while exec'ing a
BSFException is thrown. The reason indicates the problem.public void initialize(BSFManager mgr, java.lang.String lang, java.util.Vector declaredBeans) throws BSFException
initialize in interface BSFEnginemgr - 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.BSFException - if anything goes wrong while init'ing a
BSFException is thrown. The reason indicates the problem.public void propertyChange(java.beans.PropertyChangeEvent e)
propertyChange in interface java.beans.PropertyChangeListenere - PropertyChange event with the change datapublic void terminate()
BSFEnginepublic void undeclareBean(BSFDeclaredBean bean) throws BSFException
BSFEngineundeclareBean in interface BSFEnginebean - the bean to undeclareBSFException - if the engine cannot do this operation