Notes about Swing Studio

Plugins

All plugins must extend the jas.plugin.Plugin class. This class provides a simple but powerful way to extend the functionality of the Java Analysis Studio user interface. There are several ways Plugins can be loaded.

  1. If they are specified in the manifest of a JAR file in the extensions directory they will be loaded at startup, and will remain loaded for the entire JAS session. This type of plugin is typically used to register extra fitters, functions and DIMS.
  2. Plugins can be loaded when the job connects to a remote server.

Class Loaders

There are several different class paths used by JAS

  1. The system CLASSPATH, set when the application starts (SYSTEM CLASSPATH)
  2. Any JAR files found in the extensions directory - called the (EXTENSION CLASSPATH)
  3. The user CLASSPATH, set usig the View, Options, Classpath dialog (USER CLASSPATH)

In addition when connected to a remote data server, classes may be loaded from the remote server (REMOTE CLASSPATH).

There are several ClassLoaders used to load classes.

  1. ExtensionClassLoader, searches first in the SYSTEM classpath, and then in the EXTENSION classpath. Used to load plugins from extension JAR's.
  2. JobClassLoader, used to load analysis code into the job. This classloader loads classes into the server when running in client-server mode, or into the LocalJob when running in local mode.
  3. LocalClassLoader - used to load plugins into the job.

The LocalClassLoader and JobClassLoader are automatically destroyed when the job is closed, and any loaded classes are removed.