The Java application library

At FinScope we built a general purpose library alongside our automated trading product. We used Open
Source components for their obvious virtues as well as to save time. It's now time
to repay the favour. After some revisions and improvements I am now releasing
the library to the community.

The primary purpose of this library is to make scalable, flexible and message-based applications
quicker and easier to write.
Since writing any application places demands on the memory, I have tried to add as little as possible to what
is already publicly available.

The packages in this library mirror the Java or third party packages they are intended to work with. Where possible
I use the same package names. There are some other conventions I have adopted. First, the root package
contains only the core classes and resources needed to make something work;
utilities and other, non-essential, embellishments are in
a subpackage named .etc. Second, each package is internationalised with a resource bundle:
see the section on configuration for more details on this.

The javascript package provides convenience classes for embedding the mozilla
Rhino JavaScript interpreter. The two classes in this
package implement the tiered scopes suggested by mozilla for improved performance: the JavaScript
singleton initialises a root scope with the standard JavaScript objects; while the Scope class
fills the gap with Rhino in that there is no supplied object to represent a scope. Scope offers
convenience methods for evaluating strings and files, and for instantiating JavaScript objects, arrays and Dates
within the scope.

The .etc package contains a class for implementing various Java and library methods through
a host object in JavScript.