package jas2.plugin;
import jas2.jds.module.LocalDIM;
import jas2.util.JASWizardPage;
/**
* Support for Java Analysis Studio Extension Plugins
*
* The Plugin class is used to extend the functionality of Java Analysis Studio with experiment, group, or personal
* extensions. Java Analysis Studio plugins extend the Plugin class in a similar manner that web applets
* extend Applet. Plugins are a little more flexible than web applets however, since plugins can add new items to the
* Java Analysis Studio menu, create windows in the main body of the application, and interact with event data.
*
* A typical use for a plugin would be to provide an experient specific event display within the
* body of the Java Analysis Studio application.
*
* The current plugin functionality is fairly limited, more will be added in later releases. Send suggestions for
* improve functionality to jas-feedback@sld-mail.slac.stanford.edu
*
* Note: Most of the methods of Plugin require a context, and therefore should not be called before the
* Plugin is initialized (i.e. its init() method is called).
*
* @see Plugin
*/
public abstract class ExtensionPlugin extends BasicPlugin implements IExtensionPlugin
{
/**
* Called by the application before the plugins init method is called, to install the PluginContext
*/
public void setPluginContext(ExtensionPluginContext context)
{
this.context = context;
super.setPluginContext(context);
}
/**
* Provides access to the PluginContext.
* It is better to use the many utility methods in Plugin rather than
* accessing the PluginContext directly.
*/
public ExtensionPluginContext getPluginContext()
{
return context;
}
/**
* Register a LocalDIM
*/
public void registerDIM(LocalDIM dim)
{
context.registerDIM(dim);
}
/**
* Register a Job Type
*/
public void registerJobType(String name, JASWizardPage wizardPage)
{
context.registerJobType(name,wizardPage);
}
private ExtensionPluginContext context;
}
Ads help maintain this website.