|
20080903, rgf | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.bsf.util.BSFEngineImpl
org.rexxla.bsf.engines.rexx.RexxEngine
This class manages the calls from Java via JNI to Rexx or Object Rexx using the RexxSAA interface.
------------------------ Apache Version 2.0 license ------------------------- Copyright (C) 2001-2008 Rony G. Flatscher Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -----------------------------------------------------------------------------
Field Summary | |
static java.lang.String |
version
Version string indicating version of this class (majorVersion*100+minorVersion concatenated with a dot and the sorted date of last change. |
Fields inherited from class org.apache.bsf.util.BSFEngineImpl |
classLoader, classPath, declaredBeans, lang, mgr, tempDir |
Constructor Summary | |
RexxEngine()
|
Method Summary | |
java.lang.Object |
apply(java.lang.String source,
int lineNo,
int columnNo,
java.lang.Object oscript,
java.util.Vector vArgNames,
java.util.Vector vArgs)
Applies (evaluates) a piece of Rexx code (can be a whole program as well) with Java-supplied arguments and returns the result. |
java.lang.Object |
call(java.lang.Object object,
java.lang.String name,
java.lang.Object[] args)
Deprecated. " This call(...) method may be enhanced in the future, once an openly
defined and available interface to the OO-part of Object Rexx is made
available by IBM. Then the argument "object " would denote
an Object Rexx object, the argument "name " the name of one of its methods
and the argument "args " the arguments for the method.
If possible at all, use method apply(...)
instead. |
void |
declareBean(org.apache.bsf.BSFDeclaredBean bean)
Method implemented in order to avoid an exeption to be thrown by the default implementation. |
java.lang.Object |
eval(java.lang.String source,
int lineNo,
int columnNo,
java.lang.Object oscript)
Evaluates (executes) a piece of Rexx code (can be a whole program as well) without any Java-supplied arguments and returns the result. |
protected RexxAndJava |
getRexxInterface()
|
boolean |
getThreadedRexxStart()
Getter method for retrieving the actual setting. |
void |
initialize(org.apache.bsf.BSFManager mgr,
java.lang.String lang,
java.util.Vector declaredBeans)
Initializes the Rexx engine and causes the external functions 'BSF' and 'BSFPollEvents' to be registered with the Rexx interpreter. |
boolean |
isThreadedRexxStart()
Getter method for retrieving the actual setting. |
void |
setThreadedRexxStart(boolean newVal)
Allows to control on which Java thread the Rexx interpreter is executed. |
void |
undeclareBean(org.apache.bsf.BSFDeclaredBean bean)
Method implemented in order to avoid an exeption to be thrown by the default implementation. |
Methods inherited from class org.apache.bsf.util.BSFEngineImpl |
compileApply, compileExpr, compileScript, exec, iexec, propertyChange, terminate |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final java.lang.String version
Constructor Detail |
public RexxEngine()
Method Detail |
protected RexxAndJava getRexxInterface()
public void initialize(org.apache.bsf.BSFManager mgr, java.lang.String lang, java.util.Vector declaredBeans) throws org.apache.bsf.BSFException
org.apache.bsf.BSFException
public java.lang.Object eval(java.lang.String source, int lineNo, int columnNo, java.lang.Object oscript) throws org.apache.bsf.BSFException
source
- if set to RexxAndJava.EVENT_TEXT
,
then oscript
is put into the event queue
to be polled by Rexx. If this text starts with the
string "/*2*/"
it is
put into the alarm (highest dispatch) level vector, if it starts with the
string "/*0*/"
it is
put into the batch (lowest dispatch) level vector,
else it is put into the normal level vector.lineNo
- not used.columnNo
- not used.oscript
- the String version of this object [using toString()]
represents the Rexx code to be executed.
Its statements are delimited with a ';' or a
CR (carriage-return) and/or LF (line-feed).
null
.
org.apache.bsf.BSFException
public java.lang.Object call(java.lang.Object object, java.lang.String name, java.lang.Object[] args) throws org.apache.bsf.BSFException
call(...)
method may be enhanced in the future, once an openly
defined and available interface to the OO-part of Object Rexx is made
available by IBM. Then the argument "object
" would denote
an Object Rexx object, the argument "name
" the name of one of its methods
and the argument "args
" the arguments for the method.
apply(...)
instead.
[Hint: This follows after learning how Xalan is employing BSF: it first calls "exec()" and then "call()", hence "call()" does not receive the source to be executed.]
object
- not used.name
- not used.args
- arguments to be passed to Rexx.
null
.
org.apache.bsf.BSFException
public java.lang.Object apply(java.lang.String source, int lineNo, int columnNo, java.lang.Object oscript, java.util.Vector vArgNames, java.util.Vector vArgs) throws org.apache.bsf.BSFException
source
- name of source containing the script (e.g. fully qualified file name) or nulllineNo
- not used.columnNo
- not used.oscript
- the String version of this object [using toString()]
represents the Rexx code to be executed.
Its statements are delimited with a ';' or a
an LF (line-feed, "0x0a"), preceeded by an
optional CR (carriage-return, "0x0d").vArgNames
- not used.vArgs
- arguments to be passed to Rexx.
null
.
org.apache.bsf.BSFException
public void declareBean(org.apache.bsf.BSFDeclaredBean bean) throws org.apache.bsf.BSFException
bean
- the bean to be declared for the already started language.
org.apache.bsf.BSFException
public void undeclareBean(org.apache.bsf.BSFDeclaredBean bean) throws org.apache.bsf.BSFException
bean
- the bean to be declared for the already started language.
org.apache.bsf.BSFException
public void setThreadedRexxStart(boolean newVal)
newVal
- if false
(default) the Rexx interpreter will be invoked
in the current Java thread, if true
, then the Rexx interpreter
will be invoked via a separate Java threadpublic boolean getThreadedRexxStart()
setThreadedRexxStart(boolean newVal)
.
public boolean isThreadedRexxStart()
setThreadedRexxStart(boolean newVal)
.
|
20080903, rgf | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |