External Tool Integration

Warning: Only experienced programmers should attempt to use the VisualAge for Java Tool Integrator.  The Tool Integrator is ideally suited for use by ISVs.

With the VisualAge for Java Tool Integrator, you can integrate Java applications that reside on the file system such that they can be launched from within the IDE. The Java classes that make up the tool do not reside in the workspace, but are dynamically loaded from the file system. The Tool Integrator provides a standard framework for integration and upgrading of such Java tools.

The Tool Integrator only supports Java applications; that is, the entry point must be a main() method within a specific class. Applets cannot be integrated; instead, use the conventional IDE import facilities. To integrate an external class library or bean, use the Feature Integrator.

The IDE makes the following core class libraries available to the tool at run time:

To ensure that any other classes required by tool are accessible, you should provide them with the tool itself in the file system. Because tools are kept in separate directories, they cannot share classes. Classes that are required by multiple tools must be copied into each tool directory. Unless a class belongs to one of the core class libraries (cited above) or is supplied by you in the tool base directory, there is no guarantee that any other classes will be available to be referenced, even if it is in the workspace. The IDE class path setting can be modified for an individual IDE using the tool, but you should make no general assumptions about accessing non-core class libraries.

An integrated tool is run using the tool's class files, which reside on the file system. These files are not loaded into the IDE, and are not visible to the user in the core IDE tools (for example, the Workbench).

When resolving class references, the VisualAge for Java class loader looks for classes in the following sequence:

  1. The tool base directory.
  2. The Tool Integrator API.
  3. The JFC API.
  4. The JDK API.

For classes in the tool base directory, do not use names that conflict with the Tool Integrator API, JFC, or JDK. Results are unpredictable.

If the class is not found in any of the above locations, the class reference is not resolved. The Tool Integrator does not look for classes anywhere else. If you suspect that a class reference is not being resolved and would like more information, make sure to select the "Show system programs in debugger and console" option in the Debugging page of the Options dialog. The Console window may provide information on unresolved class references.


External Class Integration
Overview of the Tool Integrator API


Setting Up a Tool for Integration
Running the Tool from Within the IDE
Updating and Removing Integrated Tools and Classes