Package org.apache.wiki.api.plugin

# Interface Plugin

public interface Plugin
Defines an interface for plugins. Any instance of a wiki plugin should implement this interface.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`CORE_PLUGINS_RESOURCEBUNDLE`
Name of the default plugin resource bundle.

## Method Summary

Modifier and Type
Method
Description
`String`
`execute(Context context, Map<String,String> params)`
This is the main entry point for any plugin.
`default String`
`getDisplayName(Locale locale)`
Provides the ability for a plugin to provide it's display name that is visible via the [{}] autocomplete/suggestion mechanism within the editor.Example: Calls My Custom plugin
`default String`
`getSnipExample()`
Provides the ability for a plugin to provide a suggestion or template for execution within a wiki page.

## Field Details

### CORE_PLUGINS_RESOURCEBUNDLE

static final String CORE_PLUGINS_RESOURCEBUNDLE
Name of the default plugin resource bundle.

See Also:
  - Constant Field Values

## Method Details

### execute

String execute(Context context, Map<String,String> params) throws PluginException
This is the main entry point for any plugin. The parameters are parsed, and a special parameter called "_body" signifies the name of the plugin body, i.e. the part of the plugin that is not a parameter of the form "key=value". This has been separated using an empty line.

Note that it is preferred that the plugin returns XHTML-compliant HTML (i.e. close all tags, use <br /> instead of <br>, etc.

Parameters:
  `context` - The current WikiContext.
  `params` - A Map which contains key-value pairs. Any parameter that the user has specified on the wiki page will contain String-String parameters, but it is possible that at some future date, JSPWiki will give you other things that are not Strings.
Returns:
  HTML, ready to be included into the rendered page.
Throws:
  `PluginException` - In case anything goes wrong.

### getSnipExample

default String getSnipExample()
Provides the ability for a plugin to provide a suggestion or template for execution within a wiki page. Default returns just the FQCN of the plugin, which should enable it to fire off, however no parameters are provided in this case. Override it to provide example inputs to aid users with configuring your plugin. Example: com.company.Plugin inputParamter='test'

Returns:
  String
Since:
  3.0.0

### getDisplayName

default String getDisplayName(Locale locale)
Provides the ability for a plugin to provide it's display name that is visible via the [{}] autocomplete/suggestion mechanism within the editor.Example: Calls My Custom plugin

Parameters:
  `locale` -
Returns:
  String
Since:
  3.0.0