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