Announcing BSF4ooRexx version 4.50, 2014-10-14
BSF4ooRexx (https://sourceforge.net/projects/bsf4oorexx/) is an external ooRexx function package that allows Rexx programmers to use all of Java. Java will be camouflaged as ooRexx such that Java classes and Java objects appear to be ooRexx classes and ooRexx objects.
As the Java runtime environment (JRE) includes all functionality a modern system needs (GUI, JDBC/RDBMS, SSL, XML, ...), ooRexx programmers can benefit immediately without needing any other external Rexx function package anymore. :)
Best, as Java is cross-platform, the ooRexx programs developed e.g. on Windows will execute unchanged on Linux or MacOSX and vice versa!
New features, changes:
- Installation: a lot of effort went into updating the installers for Windows, now using elevation on Windows Vista, Windows 7 and Windows 8.x in 32- and 64-bit (still using "runas" on Windows XP). In addition the MacOSX installer got updated and should now accept non-Apple Java installations.
- Codepage translations (for non-English users of ooRexx), and exploiting Unicode:
BSF.CLS' public routines
- cf. the new methods of the class BSF ending in the string "JSO" (Java string object, return the reference to the Java string object or NetRexx object instead of transparently creating a Rexx string); being able to retrieve the Java String object references allows Rexx programmers to take advantage of all Java Unicode related methods
- The two BSF4ooRexx jars got folded into a single jar (Java archive, a zip file) in order to ease deployment (e.g. for custom deployment scenarios).
BSFDetach() got deprecated (not needed anymore): these two external Rexx functions were needed to allow Rexx threads to attach to the correct Java peer. The logic for attaching to Java has changed, such that attaching and detaching is carried out automagically. Also, the new logic causes a slight speed improvement (was fast enough already).
- In order to allow Rexx programs employing these two external Rexx functions to continue to execute, these two functions still exist and merely return
.true when invoked.
- For those who are interested more in this subject: it is possible, thanks to the versatility of ooRexx, to create multiple Rexx interpreter instances from Java, either on the same or on multiple Java threads. ooRexx programs executing in the different Rexx interpreter instances could also employ ooRexx multithreading, such that a real vivid ;) system realizes, in which different Java threads and Rexx threads may interact with each other. Prior to this release the ooRexx programmer had to explicitly denote the thread which a new Rexx thread needs to attach to, which is a little bit cumbersome.
- New ability to subclass an existing Java class, overriding Java methods with ooRexx methods, cf.
"samples/clock.rxj" (a simple GUI clock).
- Little sample/utility that renders the most important information about ooRexx, BSF4ooRexx and Java in a HTML file that gets immediately displayed in a browser, cf. "samples/info2html.rxj".
- Little sample that demonstrate how to use ooRexx instead of Java for implementing functions for the new Java 8 lambda support, cf. "samples/demo-j8-lambda.rxj".
- Updated/new version of
"ooRexxTry.rxj" that can be started via the BSF4ooRexx menu, representing a platform independent "poor man's GUI IDE".
- All changes can be studied in the text files "changesBSF4ooRexx.txt" and "changesOOo.txt".
This package can be downloaded from sourceforge, the zip-archive contains the installer for Windows and Linux (after unzipping go to
"bsf4oorexx/install/linux" and run the "install" scripts), the MacOSX versions are available in 32- and 64-bit (recommended) and include the release version of ooRexx 4.2.0.
NetRexx/Java-programmers: please note, there are two JavaDoc archives that document the interfaces between NetRexx/Java and ooRexx, including the abilities for NetRexx/Java to interact with and send ooRexx messages to Rexx objects!
If there are any problems with this release (no known bugs), then please report them that you might encounter at sourceforge (bugs)!
For help, discussions, please use the BSF4ooRexx mailing lists (either the developer or the support list).