Overview of CLR.CLS, Version 100.20160811
Package: CLR.CLS
Classes
PUBLIC
CLR
|
Description: |
The class that represents CLR objects and which is responsible for interacting with the peer CLR object on behalf of the ooRexx programmer. An instance of this class holds a reference to the peer CLR object and a reference to that object's type to ease reflective interactions.
|
Attributes: |
clr.object
(GET)
clr.object
(SET)
clr.type
(GET)
clr.type
(SET)
|
Methods: |
clr.dispatch
clr.import
clr.setPropertyValue
string
unknown
|
PRIVATE
CLR_Class
|
Description: |
The proxy class representing an imported CLR type. When sending messages to the class proxy object, then resolution starts with the static scope first, followed by the instance scope, if the static scope could not be resolved. The proxy class can be used to instantiate CLR objects in the ooRexx style by merely sending the proxy class the message "NEW", supplying the arguments, if any.
|
Attributes: |
clr.assembly
clr.clzProxy
clr.object
clr.proxy
clr.type
clr.typeName
|
Methods: |
unknown
|
PRIVATE
CLR_Enum
|
Description: |
Class to allow to wrap Enum values in order to ease comparing with Rexx strings. It implements the Rexx comparison methods "=", "\=", "<>", and "><" which in turn accept as the "other" object either another CLR Enumeration object (a proxy for an instance of a "System.Enum" type) or a Rexx string representing the Enum string value.
|
Methods: |
<>
=
><
\=
|
PRIVATE
CLR_Event
|
Description: |
A proxy class to ease adding and removing event handler to/from CLR objects.
|
Attributes: |
eventName
(GET)
|
Methods: |
+
-
|
PRIVATE
CLR_Proxy
|
Description: |
This class serves as a proxy for CLR/.Net objects of any type, returned from CLR/.Net. The routine clr.wrap() will use this class, if a pure BSF (Java) object is supplied, assuming it is from CLR/.Net. author Rony G. Flatscher since 2016-06-18
|
PUBLIC
CLRLogger
|
Description: |
Utility class to allow logging merely by sending the messages "FATAL", "ERROR", "WARN", "INFO", "DEBUG" or "TRACE" with the log text as argument to the class object .CLRLogger . All interaction is with the class object directly, there is no instance one is allowed to create.
|
Attributes: |
doLogging
(GET)
logLevel
(GET)
logLevel
(SET)
logLevels
(GET)
|
Methods: |
unknown
|
PUBLIC
CLRThread
|
Description: |
A class that uses "java.lang.Thread" to create a thread for executing Rexx code in the context of CLR/.Net concurrently. To take advantage of this ooRexx class it is necessary to subclass it, and to implement the abstract method "run".
|
Methods: |
run
start
|
Routines
Routine: |
clr.addAssembly
|
Accessmodifier |
PUBLIC
|
Returns Value |
Yes
|
PARSE ARG: |
assemblyName
|
Description: |
Routine that queries all exported types defined in the supplied assembly and caches their full names and assembly names in .clr.dir~assemblyName . param assemblyName the assembly name to work on
|
Routine: |
clr.box
|
Accessmodifier |
PUBLIC
|
Returns Value |
Yes
|
USE strict ARG: |
typeIndicator,
strValue
|
Description: |
Boxes (wraps) a Rexx string representing a primitive type into a CLR object using a CLR wrapper class. Rexx strings are turned into CLR string objects (type: System.String ). param typeIndicator one of the following strings: - "System.String", "STring"
- "System.Boolean", "BOolean"
- "System.Byte", "BYte"
- "System.SByte", "SByte"
- "System.Char", "CHAR"
- "System.Decimal", "DEcimal"
- "System.Double", "DOuble"
- "System.Int16", "INT16"
- "System.UInt16", "UINT16"
- "System.Int32", "INT32"
- "System.UInt32", "UINT32"
- "System.Int64", "INT64"
- "System.UInt64", "UINT64"
- "System.Single", "SIngle"
param strValue the Rexx string containing the primitive value or plain string to box/wrap/convert return the boxed CLR value, the CLR string value or .nil if .nil was supplied
|
Routine: |
clr.createArray
|
Accessmodifier |
PUBLIC
|
Returns Value |
Yes
|
use strict ARG: |
typeName,
capacity
|
Description: |
Utility routine that allows creating a single dimensioned CLR array with the supplied type and capacity. param typeName the fully qualified CLR type name param capacity the capacity (a non-negative whole number) return a System.Array instance (a CLR array object) of the specified type and capacity
|
Routine: |
clr.createEventHandler
|
Accessmodifier |
PUBLIC
|
Returns Value |
Yes
|
USE strict ARG: |
rexxEventHandler,
rexxData=.nil
|
Description: |
Creates an instance of "system.EventHandler" with the Rexx event handler object to handle any events. param rexxEventHandler a Rexx object that handles the events param rexxData an optional Rexx object that will be supplied with each event (last event argument, appended by BSF4ooRexx, which is a Rexx directory object; the "rexxData" object can be retrieved from it using as index the value "USERDATA"; cf. BSF4ooRexx) return an instance of "System.EventHandler", where the rexxEventHandler object will process the events
|
Routine: |
clr.FieldName
|
Accessmodifier |
PRIVATE
|
Returns Value |
Yes
|
USE ARG: |
clrType,
fieldName
|
Description: |
Returns the mixed case property name matching caselessly the supplied field name in the supplied CLR type. param clrType the CLR type to look for the supplied field name param fieldName the name of the field to look for in the supplied clrType return .nil if no field found in the type by the given name (comparisons are caseless) or the correctly spelled field name
|
Routine: |
clr.findAssemblyName
|
Accessmodifier |
PRIVATE
|
Returns Value |
Yes
|
USE strict ARG: |
typeName
|
Description: |
Determine and return the assembly name from a fully qualified type name. param typeName fully qualified type name return assembly name where the type gets exported
|
Routine: |
clr.findMatchingEvent
|
Accessmodifier |
PRIVATE
|
Returns Value |
Yes
|
USE ARG: |
clrType,
eventName
|
Description: |
Returns the mixed case event name matching caselessly the supplied event name in the supplied CLR type. param clrType the CLR type to look for the supplied event name param fieldName the name of the event to look for in the supplied clrType return .nil if no event found in the type by the given name (comparisons are caseless) or the correctly spelled event name
|
Routine: |
clr.import
|
Accessmodifier |
PUBLIC
|
Returns Value |
Yes
|
USE strict ARG: |
typeName,
rexxName4local=.nil
|
Description: |
Routine to import a CLR/.Net class, the imported class understands the NEW-message. param typeName the fully qualified CLR/.net type name param rexxName4local the name to store in .local, defaults to .nil , which inhibits the default entry of the CLR::CLR_IMPORT return a Rexx class object, subclassing CLR_Class, proxying the CLR/.Net type object
|
Routine: |
clr.initAssemblies
|
Accessmodifier |
PRIVATE
|
Returns Value |
No
|
Description: |
Routine that makes sure that the fully qualified names of the exported types defined in the assemblies "mscorlib" and "System" get cached with their assembly names in .clr.dir~assemblyName .
|
Routine: |
clr.MethodName
|
Accessmodifier |
PRIVATE
|
Returns Value |
Yes
|
USE ARG: |
clrType,
methodName
|
Description: |
Returns the mixed case method name matching caselessly the supplied method name in the supplied CLR type. param clrType the CLR type to look for the supplied method name param methodName the name of the method to look for in the supplied clrType return .nil if no method found in the type by the given name (comparisons are caseless) or the correctly spelled method name
|
Routine: |
clr.PropertyName
|
Accessmodifier |
PRIVATE
|
Returns Value |
Yes
|
USE ARG: |
clrType,
propertyName
|
Description: |
Returns the mixed case property name matching caselessly the supplied property name in the supplied CLR type. param clrType the CLR type to look for the supplied method name param propertyName the name of the property to look for in the supplied clrType return .nil if no property found in the type by the given name (comparisons are caseless) or the correctly spelled property name
|
Routine: |
clr.unbox
|
Accessmodifier |
PUBLIC
|
Returns Value |
Yes
|
USE ARG: |
clrObject
|
Description: |
Routine to turn values of boxed/wrapped CLR primitive types or System.String values to Rexx strings, otherwise returns argument unchanged. param clrObject the CLR object to unbox or to turn into a Rexx string return a Rexx string or the argument unchanged, if clrObject does not represent a boxed CLR value or a CLR string
|
Routine: |
clr.wrap
|
Accessmodifier |
PUBLIC
|
Returns Value |
Yes
|
USE ARG: |
value
|
Description: |
Processes received parameter "value" depending on its type. Always returns a CLR. If a CLR object which is a system.Enum, but not an instance of the CLR_Enum class, then an instance of CLR_Enum will be created and returned using the CLR object's clr.object and clr.type attributes. If a Rexx string is supplied which can be represented as a number, then a CLR object representing a wrapped system.Int32, system.Int64 or system.Decimal gets returned, depending on the value range. Otherwise a system.String object gets returned If a BSF (Java proxy) object is supplied it will be wrapped either as a CLR_Enum or as a CLR_Proxy object. param value a CLR, a BSF or a Rexx string object return a CLR object wrapping up the supplied value
|
Routine: |
pp.line
|
Accessmodifier |
PRIVATE
|
Returns Value |
Yes
|
use strict arg: |
lineNr
|
Description: |
Private utility method to "pretty-print" ooRexx line numbers in debug statements. Intended for taking advantage of the ooRexx class CLRLogger in this Rexx package.
|
Requires
Source: work/svn/bsf4oorexx/trunk/bsf4oorexx.dev/oorexx.net/src/clr.cls
PUBLIC
Class: CLR
Metaclass: Class
Init
init
PUBLIC
|
Expose: |
clr.object
clr.type
|
USE ARG: |
typeName,
param=.nil,
...
|
Description: |
Constructor method. param typeName the fully qualified name of a CLR type to instantiate param param optionally one or more paramaters to pass on to the CLR constructor
|
Methods Summary
PUBLIC
clr.dispatch
|
PUBLIC
clr.import
CLASS
|
PRIVATE
clr.setPropertyValue
CLASS
|
PUBLIC
string
|
PUBLIC
unknown
CLASS
|
Attributes
Attribute: |
PUBLIC
clr.object
GET
|
Description: |
Getter attribute method to get the peer clr.object . return the CLR object (a BSF object) that is a peer of the CLR object it represents
|
Attribute: |
PRIVATE
clr.object
SET
|
Description: |
Private setter attribute method to set the peer clr.object . param the BSF (sic!) object that is the peer of the CLR object it represents
|
Attribute: |
PUBLIC
clr.type
GET
|
Description: |
Getter attribute method to get the clr.type of the clr.object . return the CLR type object (a BSF object) that is the type of the clr.object
|
Attribute: |
PRIVATE
clr.type
SET
|
Description: |
Private setter attribute method to set the peer clr.type . param the BSF (sic!) object that is the CLR type of clr.object
|
Methods
Method: |
clr.dispatch
|
Accessmodifier: |
PUBLIC
|
Returns Value: |
Yes
|
PARSE ARG: |
messageName
|
Description: |
Directly forwards a message to the "unknown" method of this CLR. This is needed if a method on .NET side is to be called which is named like a method on the ooRexx side. Examples are the ooRexx methods "class", "start" or "init" (inherited from the ooRexx root class .Object ). param messageName the name of the .NET message
|
Method: |
clr.import
|
Accessmodifier: |
PUBLIC
|
Returns Value: |
Yes
|
Option(s): |
CLASS
|
USE strict ARG: |
typeName,
rexxName4Local=(typeName)
|
Description: |
Class method to import a CLR type into ooRexx and allow that type to be treated as an ooRexx class that possesses the new class method to create instances of the CLR type it represents. param typeName the fully qualified type name which should be imported into ooRexx as an ooRexx class proxy param rexxName4Local optional string which gets used to store the imported class proxy in the .local directory. Prepending a dot to that name (using it as an environment symbol) will cause ooRexx to automatically search for this entry in .nil . If this argument is given and set to .nil , then no entry will be created in the ooRexx .local directory. return the ooRexx class object representing the CLR type, i.e. an instance of class "CLR_Class"
|
Method: |
clr.setPropertyValue
|
Accessmodifier: |
PRIVATE
|
Returns Value: |
Yes
|
Option(s): |
CLASS
|
Expose: |
clr.object
clr.type
|
USE ARG: |
propertyName,
propertyValue
|
Description: |
Private method that sets the specified property to the supplied value in the .NET object proxied via this CLR proxy object. param propertyName the name of the property to be set param propertyValue the value the property is to be set to eturn self
|
Method: |
string
|
Accessmodifier: |
PUBLIC
|
Returns Value: |
Yes
|
Expose: |
clr.object
|
Description: |
The method that renders the CLR proxy object in a format that indicates its type by including the CLR type name. return a string representing the CLR proxy object
|
Method: |
unknown
|
Accessmodifier: |
PUBLIC
|
Returns Value: |
Yes
|
Option(s): |
CLASS
|
Expose: |
clr.object
clr.type
|
USE ARG: |
msgName,
msgArgs
|
Description: |
The unknown method tries to find methods, properties, fields or events (in that order) that match the unknown message name. It will carry out the appropriate operation. The implementation allows also to assign new values to CLR properties, if the ooRexx programmer employs them like an ooRexx attribute. In addition it allows for adding an event handler to an event object by the name of the message. param msgName the name of the message that was not understood (no method by that name was found) param msgArgs an array containing the arguments supplied with the message, if any return returns the appropriate object or .nil, if appropriate
|
Instantiated Classes
Requires
PRIVATE
Class: CLR_Class
Subclass: clr
Metaclass: Class
Init
init
PUBLIC
|
Description: |
Constructor that creates a CLR proxy object by means of reflection. Any supplied arguments will be relayed to CLR.
|
Methods Summary
Attributes
Attribute: |
PUBLIC
clr.assembly
CLASS
|
Description: |
Class attribute that stores the CLR assembly object that was used to load this type.
|
Attribute: |
PUBLIC
clr.clzProxy
CLASS
|
Description: |
Class attribute that stores the CLR instance that represents this CLR type. Its clr.object and clr.type attributes refer the clr.object Java proxy, thereby allowing the resolution of messages that are aimed at static members (methods, properties, fields, events) of the proxied CLR type.
|
Attribute: |
PUBLIC
clr.object
CLASS
|
Description: |
Class attribute that stores the proxy Java type object (an instance of BSF) that represents the CLR type.
|
Attribute: |
PUBLIC
clr.proxy
CLASS
|
Description: |
Class attribute that stores the CLR instance that represents this CLR type. Its clr.object and clr.type attributes refer the clr.object and clr.type , respectively. This allows the resolution of messages that are aimed at instance members (methods, properties, fields, events) of the proxied CLR type.
|
Attribute: |
PUBLIC
clr.type
CLASS
|
Description: |
Class attribute that stores the proxy Java type object (an instance of BSF) that represents the type/class object of clr.object .
|
Attribute: |
PUBLIC
clr.typeName
CLASS
|
Description: |
Class attribute that stores the CLR type name for which this class object is a peer.
|
Methods
Method: |
unknown
|
Accessmodifier: |
PUBLIC
|
Returns Value: |
Yes
|
Option(s): |
CLASS
|
Expose: |
clr.object
clr.type
clr.proxy
clr.clzProxy
|
Description: |
Class unknown method that first forwards a message to clr.clzProxy which in effect tries to resolve the static context. If this is not successful (the CLR unknown method raises a condition), then another attempt is made by forwarding the message to clr.proxy which resolves the instance context.
|
Instantiated Classes
Requires
PRIVATE
Class: CLR_Enum
Subclass: CLR_PROXY
Metaclass: Class
Methods Summary
PUBLIC
<>
|
PUBLIC
=
|
PUBLIC
><
CLASS
|
PUBLIC
\=
|
Methods
Method: |
<>
|
Accessmodifier: |
PUBLIC
|
Returns Value: |
No
|
Description: |
A synonym for method "\=", to which the invocation gets forwarded to.
|
Method: |
=
|
Accessmodifier: |
PUBLIC
|
Returns Value: |
Yes
|
use strict arg: |
otherValue
|
Description: |
The equal comparison method. If "other" is a Rexx string then the comparison is carried out caselessly. param other mandatory value, either a CLR proxy for a "System.Enum" instance or a Rexx string return .true if the this value and "other" value are the same, .false else
|
Method: |
><
|
Accessmodifier: |
PUBLIC
|
Returns Value: |
No
|
Option(s): |
CLASS
|
Description: |
A synonym for method "\=", to which the invocation gets forwarded to.
|
Method: |
\=
|
Accessmodifier: |
PUBLIC
|
Returns Value: |
Yes
|
use strict arg: |
otherValue
|
Description: |
The unequal comparison method. If "other" is a Rexx string then the comparison is carried out caselessly. param other mandatory value, either a CLR proxy for a "System.Enum" instance or a Rexx string return .true if the this value and "other" value are not the same, .false else
|
Instantiated Classes
Requires
PRIVATE
Class: CLR_Event
Subclass: CLR_Proxy
Metaclass: Class
Init
init
|
Expose: |
eventName
|
use strict arg: |
o,
eventName
|
Description: |
Constructor. param o the CLR object for which event handling should become possible param eventName the event name for which adding and removing event handler should become possible
|
Methods Summary
PUBLIC
+
|
PUBLIC
-
ABSTRACT
CLASS
|
Attributes
Attribute: |
PUBLIC
eventName
GET
|
Description: |
Attribute getter method to allow querying the event name for which this object allows to add or remove event handlers.
|
Methods
Method: |
+
|
Accessmodifier: |
PUBLIC
|
Returns Value: |
Yes
|
Expose: |
eventName
|
USE ARG: |
eventHandler
|
Description: |
Method to add an event handler for the named event eventName of the CLR object. param eventHandler a Java Rexx proxy to be added as an event handler return self
|
Method: |
-
|
Accessmodifier: |
PUBLIC
|
Returns Value: |
Yes
|
Option(s): |
ABSTRACT
CLASS
|
Expose: |
eventName
|
USE ARG: |
eventHandler
|
Description: |
Method to remove an event handler for the named event eventName from the CLR object. param eventHandler a Java Rexx proxy serving as an event handler that should be removed return self
|
Instantiated Classes
Requires
Class: CLR_Proxy
Subclass: clr
Metaclass: Class
Init
init
|
use strict arg: |
argObj,
argType=.nil
|
Description: |
Constructor. param argObj mandatory object, can be a CLR or BSF object param argType optional object, if supplied, must be a BSF object
|
Requires
PUBLIC
Class: CLRLogger
Metaclass: Class
Init
init
PUBLIC
|
Expose: |
logLevels
logLevel
doLogging
logStream
|
Description: |
Constructor, defining the log levels "OFF", "FATAL", "ERROR", * "WARN", "INFO", "DEBUG" and "TRACE", setting the attribute logLevel to "OFF". Determines whether the ooRexx version in use has the .traceOutput stream, if not the .error stream is used for log output instead.
|
Methods Summary
Attributes
Attribute: |
PUBLIC
doLogging
GET
CLASS
|
Description: |
Getter attribute method that indicates whether log messages get processed. return .true if logging is active, .false if not
|
Attribute: |
PUBLIC
logLevel
GET
CLASS
|
Description: |
Getter attribute method that returns the current logLevel setting. return one of the strings: "OFF", "FATAL", "ERROR", "WARN", "INFO", "DEBUG", "TRACE"
|
Attribute: |
PUBLIC
logLevel
SET
CLASS
|
Description: |
Setter attribute method that returns a copy of the log levels directory. If set to "OFF", then the attribute doLogging is set to .false , otherwise to .true . param desiredLevel, one of "OFF", "FATAL", "ERROR", "WARN", "INFO", "DEBUG" and "TRACE".
|
Attribute: |
PUBLIC
logLevels
GET
CLASS
|
Description: |
Getter attribute method that returns a copy of the log levels directory. return copy of logLevels directory object
|
Methods
Method: |
unknown
|
Accessmodifier: |
PUBLIC
|
Returns Value: |
Yes
|
Option(s): |
CLASS
|
Expose: |
logLevel
logLevels
logStream
|
USE ARG: |
levelName,
args
|
Description: |
Unknown method that handles the messages "OFF", "FATAL", "ERROR", "WARN", "INFO", "DEBUG", "TRACE", depending on the value of the attribute logLevel . The handling is determined by the following relation: "OFF" < "FATAL" < "ERROR" < "WARN" < "INFO" < "DEBUG" < "TRACE". Hence, if the attribute logLevel is set to "OFF" no log messages get displayed. By contrast, if logLevel is set to "TRACE" all log messages get displayed. param levelName the unknown message name param args an array object containing the arguments supplied with the unknown message
|
Requires
PUBLIC
Class: CLRThread
Metaclass: Class
Methods Summary
PUBLIC
run
ABSTRACT
CLASS
|
PUBLIC
start
ABSTRACT
|
Methods
Method: |
run
|
Accessmodifier: |
PUBLIC
|
Returns Value: |
No
|
Option(s): |
ABSTRACT
CLASS
|
Description: |
Abstract method that needs to be implemented in the subclassed Rexx class.
|
Method: |
start
|
Accessmodifier: |
PUBLIC
|
Returns Value: |
No
|
Option(s): |
ABSTRACT
|
USE strict ARG: |
rexxData=.nil
|
Description: |
This method creates a new thread. param rexxData optional, if supplied this Rexx object gets supplied, if a Java method invocation causes any Rexx method of the subclassed Rexx class to be executed. In that case BSF4ooRexx will append a "slotDir" Rexx directory argument to the Java arguments, that will have an entry "USERDATA" returning this Rexx object "rexxData"
|
Instantiated Classes
Requires
PUBLIC
Routine: clr.addAssembly
Accessmodifier |
PUBLIC
|
Returns Value |
Yes
|
PARSE ARG: |
assemblyName
|
Description: |
Routine that queries all exported types defined in the supplied assembly and caches their full names and assembly names in .clr.dir~assemblyName . param assemblyName the assembly name to work on
|
Requires
PUBLIC
Routine: clr.box
Accessmodifier |
PUBLIC
|
Returns Value |
Yes
|
USE strict ARG: |
typeIndicator,
strValue
|
Description: |
Boxes (wraps) a Rexx string representing a primitive type into a CLR object using a CLR wrapper class. Rexx strings are turned into CLR string objects (type: System.String ). param typeIndicator one of the following strings: - "System.String", "STring"
- "System.Boolean", "BOolean"
- "System.Byte", "BYte"
- "System.SByte", "SByte"
- "System.Char", "CHAR"
- "System.Decimal", "DEcimal"
- "System.Double", "DOuble"
- "System.Int16", "INT16"
- "System.UInt16", "UINT16"
- "System.Int32", "INT32"
- "System.UInt32", "UINT32"
- "System.Int64", "INT64"
- "System.UInt64", "UINT64"
- "System.Single", "SIngle"
param strValue the Rexx string containing the primitive value or plain string to box/wrap/convert return the boxed CLR value, the CLR string value or .nil if .nil was supplied
|
Requires
PUBLIC
Routine: clr.createArray
Accessmodifier |
PUBLIC
|
Returns Value |
Yes
|
use strict ARG: |
typeName,
capacity
|
Description: |
Utility routine that allows creating a single dimensioned CLR array with the supplied type and capacity. param typeName the fully qualified CLR type name param capacity the capacity (a non-negative whole number) return a System.Array instance (a CLR array object) of the specified type and capacity
|
Requires
PUBLIC
Routine: clr.createEventHandler
Accessmodifier |
PUBLIC
|
Returns Value |
Yes
|
USE strict ARG: |
rexxEventHandler,
rexxData=.nil
|
Description: |
Creates an instance of "system.EventHandler" with the Rexx event handler object to handle any events. param rexxEventHandler a Rexx object that handles the events param rexxData an optional Rexx object that will be supplied with each event (last event argument, appended by BSF4ooRexx, which is a Rexx directory object; the "rexxData" object can be retrieved from it using as index the value "USERDATA"; cf. BSF4ooRexx) return an instance of "System.EventHandler", where the rexxEventHandler object will process the events
|
Requires
PRIVATE
Routine: clr.FieldName
Accessmodifier |
PRIVATE
|
Returns Value |
Yes
|
USE ARG: |
clrType,
fieldName
|
Description: |
Returns the mixed case property name matching caselessly the supplied field name in the supplied CLR type. param clrType the CLR type to look for the supplied field name param fieldName the name of the field to look for in the supplied clrType return .nil if no field found in the type by the given name (comparisons are caseless) or the correctly spelled field name
|
Requires
PRIVATE
Routine: clr.findAssemblyName
Accessmodifier |
PRIVATE
|
Returns Value |
Yes
|
Options |
CLASS
|
USE strict ARG: |
typeName
|
Description: |
Determine and return the assembly name from a fully qualified type name. param typeName fully qualified type name return assembly name where the type gets exported
|
Requires
PRIVATE
Routine: clr.findMatchingEvent
Accessmodifier |
PRIVATE
|
Returns Value |
Yes
|
USE ARG: |
clrType,
eventName
|
Description: |
Returns the mixed case event name matching caselessly the supplied event name in the supplied CLR type. param clrType the CLR type to look for the supplied event name param fieldName the name of the event to look for in the supplied clrType return .nil if no event found in the type by the given name (comparisons are caseless) or the correctly spelled event name
|
Requires
PUBLIC
Routine: clr.import
Accessmodifier |
PUBLIC
|
Returns Value |
Yes
|
USE strict ARG: |
typeName,
rexxName4local=.nil
|
Description: |
Routine to import a CLR/.Net class, the imported class understands the NEW-message. param typeName the fully qualified CLR/.net type name param rexxName4local the name to store in .local, defaults to .nil , which inhibits the default entry of the CLR::CLR_IMPORT return a Rexx class object, subclassing CLR_Class, proxying the CLR/.Net type object
|
Requires
PRIVATE
Routine: clr.initAssemblies
Accessmodifier |
PRIVATE
|
Returns Value |
No
|
Description: |
Routine that makes sure that the fully qualified names of the exported types defined in the assemblies "mscorlib" and "System" get cached with their assembly names in .clr.dir~assemblyName .
|
Requires
PRIVATE
Routine: clr.MethodName
Accessmodifier |
PRIVATE
|
Returns Value |
Yes
|
USE ARG: |
clrType,
methodName
|
Description: |
Returns the mixed case method name matching caselessly the supplied method name in the supplied CLR type. param clrType the CLR type to look for the supplied method name param methodName the name of the method to look for in the supplied clrType return .nil if no method found in the type by the given name (comparisons are caseless) or the correctly spelled method name
|
Requires
PRIVATE
Routine: clr.PropertyName
Accessmodifier |
PRIVATE
|
Returns Value |
Yes
|
USE ARG: |
clrType,
propertyName
|
Description: |
Returns the mixed case property name matching caselessly the supplied property name in the supplied CLR type. param clrType the CLR type to look for the supplied method name param propertyName the name of the property to look for in the supplied clrType return .nil if no property found in the type by the given name (comparisons are caseless) or the correctly spelled property name
|
Requires
PUBLIC
Routine: clr.unbox
Accessmodifier |
PUBLIC
|
Returns Value |
Yes
|
Options |
CLASS
|
USE ARG: |
clrObject
|
Description: |
Routine to turn values of boxed/wrapped CLR primitive types or System.String values to Rexx strings, otherwise returns argument unchanged. param clrObject the CLR object to unbox or to turn into a Rexx string return a Rexx string or the argument unchanged, if clrObject does not represent a boxed CLR value or a CLR string
|
Requires
PUBLIC
Routine: clr.wrap
Accessmodifier |
PUBLIC
|
Returns Value |
Yes
|
USE ARG: |
value
|
Description: |
Processes received parameter "value" depending on its type. Always returns a CLR. If a CLR object which is a system.Enum, but not an instance of the CLR_Enum class, then an instance of CLR_Enum will be created and returned using the CLR object's clr.object and clr.type attributes. If a Rexx string is supplied which can be represented as a number, then a CLR object representing a wrapped system.Int32, system.Int64 or system.Decimal gets returned, depending on the value range. Otherwise a system.String object gets returned If a BSF (Java proxy) object is supplied it will be wrapped either as a CLR_Enum or as a CLR_Proxy object. param value a CLR, a BSF or a Rexx string object return a CLR object wrapping up the supplied value
|
Requires
PRIVATE
Routine: pp.line
Accessmodifier |
PRIVATE
|
Returns Value |
Yes
|
use strict arg: |
lineNr
|
Description: |
Private utility method to "pretty-print" ooRexx line numbers in debug statements. Intended for taking advantage of the ooRexx class CLRLogger in this Rexx package.
|
|
The class that represents CLR objects and which is responsible for interacting with the peer CLR object on behalf of the ooRexx programmer. An instance of this class holds a reference to the peer CLR object and a reference to that object's type to ease reflective interactions.