public interface BSFEngine
extends java.beans.PropertyChangeListener
When a scripting engine is first fired up, the initialize() method is called right after construction.
A scripting engine must provide two access points for applications to call into them: via function calls and via expression evaluation. It must also support loading scripts.
A scripting engine is a property change listener and will be notified when any of the relevant properties of the manager change. (See BSFManager to see which of its properties are bound.)
| 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)
This is used by an application to invoke an anonymous function.
|
java.lang.Object |
call(java.lang.Object object,
java.lang.String name,
java.lang.Object[] args)
This is used by an application to call into the scripting engine
to make a function/method call.
|
void |
compileApply(java.lang.String source,
int lineNo,
int columnNo,
java.lang.Object funcBody,
java.util.Vector paramNames,
java.util.Vector arguments,
CodeBuffer cb)
This is used by an application to compile an anonymous function.
|
void |
compileExpr(java.lang.String source,
int lineNo,
int columnNo,
java.lang.Object expr,
CodeBuffer cb)
This is used by an application to compile a value-returning expression.
|
void |
compileScript(java.lang.String source,
int lineNo,
int columnNo,
java.lang.Object script,
CodeBuffer cb)
This is used by an application to compile some script.
|
void |
declareBean(BSFDeclaredBean bean)
Declare a bean after the engine has been started.
|
void |
disconnectedDebuggerNotify()
Notify the engine that the connection to its
debugger has been lost.
|
java.lang.Object |
eval(java.lang.String source,
int lineNo,
int columnNo,
java.lang.Object expr)
This is used by an application to evaluate an expression.
|
void |
exec(java.lang.String source,
int lineNo,
int columnNo,
java.lang.Object script)
This is used by an application to execute some script.
|
java.lang.Object |
getSpecificDebuggingInterface()
The language-specific interface on the engine
for debugging...
|
void |
initialize(BSFManager mgr,
java.lang.String lang,
java.util.Vector declaredBeans)
This method is used to initialize the engine right after construction.
|
void |
placeBreakpointAtLine(int brkptid,
java.lang.String docname,
int lineno) |
void |
placeBreakpointAtOffset(int brkptid,
java.lang.String docname,
int offset) |
void |
removeBreakpoint(java.lang.String docname,
int brkptid) |
void |
setEntryExit(java.lang.String docname,
boolean on) |
void |
terminate()
Graceful termination
|
void |
undeclareBean(BSFDeclaredBean bean)
Undeclare a previously declared bean.
|
void disconnectedDebuggerNotify()
java.lang.Object getSpecificDebuggingInterface()
void placeBreakpointAtLine(int brkptid,
java.lang.String docname,
int lineno)
throws BSFException
BSFExceptionvoid placeBreakpointAtOffset(int brkptid,
java.lang.String docname,
int offset)
throws BSFException
BSFExceptionvoid removeBreakpoint(java.lang.String docname,
int brkptid)
throws BSFException
BSFExceptionvoid setEntryExit(java.lang.String docname,
boolean on)
throws BSFException
BSFExceptionjava.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
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 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.java.lang.Object call(java.lang.Object object,
java.lang.String name,
java.lang.Object[] args)
throws BSFException
object - object on which to make the callname - name of the method / procedure to callargs - the arguments to be given to the procedureBSFException - if anything goes wrong while eval'ing a
BSFException is thrown. The reason indicates the problem.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
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 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.void compileExpr(java.lang.String source,
int lineNo,
int columnNo,
java.lang.Object expr,
CodeBuffer cb)
throws BSFException
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 compilecb - the CodeBuffer to compile intoBSFException - if anything goes wrong while compiling a
BSFException is thrown. The reason indicates the problem.void compileScript(java.lang.String source,
int lineNo,
int columnNo,
java.lang.Object script,
CodeBuffer cb)
throws BSFException
source - (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.void declareBean(BSFDeclaredBean bean) throws BSFException
bean - the bean to declareBSFException - if the engine cannot do this operationjava.lang.Object eval(java.lang.String source,
int lineNo,
int columnNo,
java.lang.Object expr)
throws BSFException
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 evaluateBSFException - if anything goes wrong while eval'ing a
BSFException is thrown. The reason indicates the problem.void exec(java.lang.String source,
int lineNo,
int columnNo,
java.lang.Object script)
throws BSFException
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 exprscript - the script to executeBSFException - if anything goes wrong while exec'ing a
BSFException is thrown. The reason indicates the problem.void initialize(BSFManager mgr, java.lang.String lang, java.util.Vector declaredBeans) throws BSFException
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.BSFException - if anything goes wrong while init'ing a
BSFException is thrown. The reason indicates the problem.void terminate()
void undeclareBean(BSFDeclaredBean bean) throws BSFException
bean - the bean to undeclareBSFException - if the engine cannot do this operation