RexxProxy
object which gets the Java method invocations forwarded as ooRexx messages with all supplied Java arguments plus a trailing ooRexx .Directory
argument containing some useful invocation details. RexxProxy
object needs to invoke a masked method (a method the extended Java class implements and forwards to the RexxProxy
) then it merely forwards the invocation to self
, appending to the method name the string "_forwardToSuper" and supplying all parameters the method mandates. getDefaultHandler()
and setDefaultHandler(RexxProxy)
. The defaultHandler is a RexxProxy
which receives ooRexx messages for every static Java method that gets invoked in the extended class. getTargetRexxProxy()
and setTargetRexxProxy(RexxProxy)
. The DefaultHandler is a RexxProxy
which receives ooRexx messages for every static Java method that gets invoked in the extended class. It is set with the extended constructors that expect a RexxProxy
as the first argument. If the class' defaultHandler is not set yet, then the extended constructor's code will set it to the targetRexxProxy automatically.
RexxProxy
handling
the Java method invocations. Alternatively this can be an array where each array element is either
a string fully qualifying the Java class or a Java class object directly representing the class. java.lang.String
) where each element denotes the Java method name the Rexx proxy needs to implement; optionally, each Java method name may be preceded by the Java class name and a blank. Please note: all public/protected abstract methods and constructors will always get proxied! .nil
, then only the public/protected abstract methods and constructors get proxied. "e;*"e;
(asterisk), then all public/protected methods and constructors get proxied. .nil
then only the public or protected
then all declared public and protected methods of the given class will be proxied; if single empty string ""
is given, then an empty (size of 0) Java String array is created and supplied, causing only the public and protected constructors to be proxied
toString
, equals
and hashCode
be aware that a wrong implementation on your side may break the program. For that reason these methods are never automatically proxied (if you leave out this argument). RexxProxy
object .true
then
the stack trace of the source of the Java exception chain gets returned as well.
condition("object")
in the reference manual) .false
; if set to .true
then the stack trace of the source of the Java exception chain gets returned The class methods awtRunLater
and awtRunLaterLatest
allow
Rexx programmers to send Rexx messages later, when running in the GUI thread.
since: 2018-07-14
runnable
(this Rexx class wrapped as a java.lang.Runnable object) to execute later on the GUI thread.
.true
, if running on the GUI thread ("event dispatch thread" a.k.a. "awt Thread"), .false
else Stream
or Writer
object to use for output .nil
.endOfLine
The class methods fxRunLater
and fxRunLaterLatest
allow
Rexx programmers to send Rexx messages later, when running in the GUI thread.
since: 2017-08-05
runnable
(this Rexx class wrapped as a java.lang.Runnable object) to execute later on the GUI thread.
.true
, if running on the GUI thread ("JavaFX Application Thread"), .false
else @GET
or @GET(quoted list of blank delimited attribute names)
is contained in Rexx block comments.
scriptContext
or a RexxContext .context
object from which the last argument will be fetched (expecting a slotDir argument appended by BSF4ooRexx) which is expected to have the Java scriptContext
stored with the index named SCRIPTCONTEXT
. scriptContext
to be made available as local Rexx variables. .nil
if not found BSFContextVariables()
).
ScriptContext
object containing entries in different bindings or the caller's .context object which is expected to have slotDir as its last argument that contains the ScriptContext to work with (which is the case, if the caller was invoked by Java via the javax.script framework) .nil
if not found ScriptContext
which is meant to be used with the external Rexx function BSFContextVariables()
to set and drop context variables. Dots in the Java supplied variable names get replaced by underscores to inhibit the creation of Rexx stem objects.
ScriptContext
object containing entries in different bindings or the caller's .context object which is expected to have
slotDir as its last argument that contains the ScriptContext to work with
(which is the case, if the caller was invoked by Java via the javax.script framework) "A[ll]"
(all bindings from highest to lowest), "G[lobal]"
(global scope, i.e. scope value 200
), "E[ngine]"
(engine scope, i.e. scope value 100
), the scope number to process, optionally followed by additional scope numbers; the explicit given sequence of scope numbers determines the order in which the bindings get added to the directory (entries in bindings of latter scopes override entries in bindings of previous scopes) @SET(quoted list of blank delimited attribute names)
is contained in Rexx block comments. If an attribute in the attribute list cannot be found in the ScriptContext's scope, a warning will be given. The attribute name will be normalized and that value will be used to look up the current Rexx value in the Rexx variable Rexx directory passed in as the second argument. If there is no Rexx variable with the normalized name a warning will be issued.
param: scriptContext a Java scriptContext
or a RexxContext .context
object from which the last argument will be fetched (expecting a slotDir argument appended by BSF4ooRexx) which is expected to have the Java scriptContext
stored with the index named SCRIPTCONTEXT
.
param: attributeNames optional.
scriptContext
to be updated with the values from RxVarDir
. RxVarDir
will cause that attribute to be updated with the Rexx value, if that is different. If attribute names contain blanks, then they must be enquoted in the Rexx script annotation. RxVarDir
then that attribute will be updated with the Rexx value, if that is different. .nil
if not found