Overview | Package | Class | Tree | Deprecated | Index | Help
| Openfire 3.9.3 Javadoc
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jivesoftware.openfire.container
Interface Plugin

All Known Implementing Classes:
  AdminConsolePlugin

    public interface Plugin

Plugin interface. Plugins enhance the functionality of Openfire. They can:

- Act as `Components` to implement additional features in the XMPP protocol.
- Dynamically modify the admin console.
- Use the Openfire API to add new functionality to the server.

Plugins live in the `plugins` directory of `home`. Plugins that are packaged as JAR files will be automatically expanded into directories. A plugin directory should have the following structure:

    [pluginDir]
        |-- plugin.xml
        |-- classes/
        |-- lib/

The `classes` and `lib` directory are optional. Any files in the `classes` directory will be added to the classpath of the plugin, as well as any JAR files in the `lib` directory. The `plugin.xml` file is required, and specifies the className of the Plugin implementation. The XML file should resemble the following XML:

     <?xml version="1.0" encoding="UTF-8"?>
     <plugin>
         <class>org.example.YourPlugin</class>
         <name>Example Plugin</name>
         <description>This is an example plugin.</description>
         <author>Foo Inc.</author>
         <version>1.0</version>
         <minServerVersion>3.0.0</minServerVersion>
         <licenseType>gpl</licenseType>
     </plugin>

Each plugin will be loaded in its own class loader, unless the plugin is configured with a parent plugin.

Please see the Plugin Developer Guide (available with the Openfire documentation) for additional details about plugin development.

Author:
  Matt Tucker

Method Summary
`void` | `destroyPlugin()` Destroys the plugin.
`void` | `initializePlugin(PluginManager manager, File pluginDirectory)` Initializes the plugin.

Method Detail

### initializePlugin

    void initializePlugin(PluginManager manager,
                          File pluginDirectory)

  Initializes the plugin.

  Parameters:
    `manager` - the plugin manager.
    `pluginDirectory` - the directory where the plugin is located.

### destroyPlugin

    void destroyPlugin()

  Destroys the plugin.

  Implementations of this method must release all resources held by the plugin such as file handles, database or network connections, and references to core Openfire classes. In other words, a garbage collection executed after this method is called must be able to clean up all plugin classes.

Overview | Package | Class | Tree | Deprecated | Index | Help
| Openfire 3.9.3 Javadoc
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2003-2008 Jive Software.