001    package com.valhalla.pluginmanager;
002    
003    /**
004     * Defines the main plugin interface.  This interface MUST be implemented by all JBother plugins.
005     * The plugin MUST have a file called "plugin.properties" somewhere in the jar, and this file MUST
006     * define mainClass to be a class that implements this interface, or the plugin will not work
007     *
008     * @author Adam Olsen
009     * @version 1.0
010    */
011    public interface Plugin
012    {
013            /**
014             * This method will be called on the mainClass of the plugin at load time.
015             * This method is responsible for initializing the plugin and registering for different plugin
016             * events.
017             * @return returns true if the plugin loaded successfully, false if not
018            */
019            public boolean init();
020    
021            /**
022             * This method will be called on the mainClass of the plugin to unload it.
023             * After this method is called the class should no longer be being used.
024            **/
025            public void unload();
026    }