Xvcl Transform
CjOS Project @ cjos.sourceforge.net
Index
Bind Pages
Cjos Library
Cjos Pages
Cjos News Pages
Eric Pages
Introduction To Smart Api
Osgi Pages
Registry Api Pages
Smart Api Pages
Xvcl Pages
CjOS Project
Summary Page
Mailing List
Download
CVS
JOS Technical Edition
Support This Project
Xvcl Pages; [ Cjos Audience]
This article was contributed by Gilbert Herschberger (24 June 2005, revised 6 September 2006).

Improved

Use Apache Ant to build your XVCL-compatible project.

  1. Invoke the XVCL program multiple times from one Ant script.

Add the power of XVCL to the power of Ant. Build your XVCL-compatible project just as you would any Java project.

Original

The original XVCL implementation is intended for use as a Java application. In a Java application, a static field can be used when it is not an ideal object-oriented design. Upon exit, all of the static fields go out of scope.

  1. Invoke the XVCL application once and then exit.

Transform the XVCL implementation

The original XVCL implementation must be transformed into a re-usable task. The bulk of the XVCL implementation remains unchanged. The Ant-compatible implementation reworks some static fields into instance fields.

In the spirit of XVCL, we choose to use XVCL to modify the XVCL implementation. We choose explicit versioning to provide both implementations at once.

Plan

Using Bassett's frame technology, transform the XVCL framework into an Ant-compatible task.

  1. Create version 1a, Ant task for the original XVCL API.
  2. Create version 1b, XVCL API and Ant task.
  3. Create ant-optional-cjos-xvcl RPM. See also Rpm Ant Optional Xvcl.

Contents

This article contains the following topics:

  • Section A - Converting from Java to XVCL
  • Section B - Eliminating Static Fields


Section A - Converting from Java to XVCL

  1. Using the Java-To-XVCL program, generated the original .xvcl files.
  2. Copied generated files to cjos/xvcl/src/xvcl.


Section B - Eliminating Static Fields

  1. A FrameProcessor should have an OptionTable property.