package org.joget.plugin.base; import java.util.Map; /** * Basic interface of a plugin * */ public interface Plugin { /** * Return a unique name for the plugin. You can override a existing System plugin by providing the same name as the System plugin. * * @return */ String getName(); /** * Return a label for the plugin based on language setting * * @return */ String getI18nLabel(); /** * Return plugin version * * @return */ String getVersion(); /** * Return a plugin description for the plugin based on language setting * * @return */ String getI18nDescription(); /** * Return a plugin description. This value will be used when a Resource * Bundle Message Key "plugin.className.pluginDesc" is not found by getI18nDescription method. * * @return */ String getDescription(); /** * Return a set of plugin properties to configure by admin user * * @Deprecated Since version 3, Joget Workflow introduced a better UI for plugin * configuration. A plugin should implement org.joget.plugin.property.model.PropertyEditable * interface to provide the plugin configuration options. * * @return */ PluginProperty[] getPluginProperties(); /** * To execute a plugin * * @Deprecated This method is only use by Process Tool plugin therefore it had * been moved to org.joget.plugin.base.DefaultApplicationPlugin * * @param pluginProperties Properties to be used by the plugin during execution * * @return */ Object execute(Map properties); }