Xvcl Program
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]

Overview

About this document

This document provides recommendations for XVCL.


Section A - Subprogram

Introduction

The XVCL processor should be improved.

  • It should be a re-usable subprogram, and a Java application.
  • It should use relative resources, something like HTML, rather than resources based upon the current directory.
  • It should be call-able from Ant as a subprogram.
  • It should be re-usable itself, using the XVCL processor to generate its Java source code.
  • It should throw an exception to stop processing prematurely. It should never, ever invoke the System.exit() method.

Tracing

  1. The xvcl.XVCL class provides a main() method for backward compatibility with the java tool.
    1. The main() method for a Java application should be in a class called xvcl.Main.

  2. The main() method creates a new instance of xvcl.XVCL.
  3. The main() method processes the command line, one argument at a time.
  4. The main() method invokes process().
    1. The outmsg property is boolean. When true, additional messages are printed.
    2. The process() method invokes OptionTable.init(), a static method.
      1. When an OptionTable object is static, it does not allow for multi-threaded XVCL processing within a virtual machine. This architecture limits the use of the XVCL processor in other Java environments, such as called by a servlet, EJB, Ant task.

    3. The process() method invokes parseOption().
      1. The parseOption() method sets the properties of OptionTable from command-line arguments.

    4. The -A or -a option sets the OptionA property of OptionTable. In turn, it sets the append variable in the process() method.
    5. The process() method sets the SPC URL.
    6. OptionTable.addOption("StartTime", Long.toString(startTime))
    7. The process() method invokes FrameParser.build().
    8. The process() method invokes FileList.getInstance().
    9. The process() method uses OPTION_V, for verbose-file-dir and verbose-file-name.