| | |
| | | |
| | | import ro.fortsoft.pf4j.PluginState; |
| | | import ro.fortsoft.pf4j.PluginWrapper; |
| | | import ro.fortsoft.pf4j.Version; |
| | | |
| | | import com.gitblit.models.PluginRegistry.InstallState; |
| | | import com.gitblit.models.PluginRegistry.PluginRegistration; |
| | |
| | | public interface IPluginManager extends IManager { |
| | | |
| | | /** |
| | | * Returns the system version. |
| | | * |
| | | * @return the system version |
| | | * @since 1.5.0 |
| | | */ |
| | | Version getSystemVersion(); |
| | | |
| | | /** |
| | | * Starts all plugins. |
| | | * @since 1.5.0 |
| | | */ |
| | | void startPlugins(); |
| | | |
| | | /** |
| | | * Stops all plugins. |
| | | * @since 1.5.0 |
| | | */ |
| | | void stopPlugins(); |
| | | |
| | |
| | | * |
| | | * @param pluginId |
| | | * @return the state of the plugin |
| | | * @since 1.5.0 |
| | | */ |
| | | PluginState startPlugin(String pluginId); |
| | | |
| | |
| | | * |
| | | * @param pluginId |
| | | * @return the state of the plugin |
| | | * @since 1.5.0 |
| | | */ |
| | | PluginState stopPlugin(String pluginId); |
| | | |
| | |
| | | * |
| | | * @param type |
| | | * @return a list of extensions the plugin provides |
| | | * @since 1.5.0 |
| | | */ |
| | | List<Class<?>> getExtensionClasses(String pluginId); |
| | | |
| | |
| | | * |
| | | * @param type |
| | | * @return a list of extension instances |
| | | * @since 1.5.0 |
| | | */ |
| | | <T> List<T> getExtensions(Class<T> type); |
| | | |
| | |
| | | * Returns the list of all resolved plugins. |
| | | * |
| | | * @return a list of resolved plugins |
| | | * @since 1.5.0 |
| | | */ |
| | | List<PluginWrapper> getPlugins(); |
| | | |
| | |
| | | * |
| | | * @param pluginId |
| | | * @return the plugin wrapper |
| | | * @since 1.5.0 |
| | | */ |
| | | PluginWrapper getPlugin(String pluginId); |
| | | |
| | |
| | | * |
| | | * @param clazz extension point class to retrieve extension for |
| | | * @return PluginWrapper that loaded the given class |
| | | * @since 1.5.0 |
| | | */ |
| | | PluginWrapper whichPlugin(Class<?> clazz); |
| | | |
| | |
| | | * |
| | | * @param pluginId |
| | | * @return true if successful |
| | | * @since 1.5.0 |
| | | */ |
| | | boolean disablePlugin(String pluginId); |
| | | |
| | |
| | | * |
| | | * @param pluginId |
| | | * @return true if successful |
| | | * @since 1.5.0 |
| | | */ |
| | | boolean enablePlugin(String pluginId); |
| | | |
| | |
| | | * |
| | | * @param pluginId |
| | | * @return true if successful |
| | | * @since 1.5.0 |
| | | */ |
| | | boolean deletePlugin(String pluginId); |
| | | boolean uninstallPlugin(String pluginId); |
| | | |
| | | /** |
| | | * Refresh the plugin registry. |
| | | * |
| | | * @param verifyChecksum |
| | | * @since 1.5.0 |
| | | */ |
| | | boolean refreshRegistry(boolean verifyChecksum); |
| | | |
| | |
| | | * |
| | | * @param url |
| | | * @param verifyChecksum |
| | | * @since 1.5.0 |
| | | */ |
| | | boolean installPlugin(String url, boolean verifyChecksum) throws IOException; |
| | | |
| | | /** |
| | | * Upgrade the install plugin from the specified url. |
| | | * |
| | | * @param pluginId |
| | | * @param url |
| | | * @param verifyChecksum |
| | | * @return true if the upgrade has been successful |
| | | * @throws IOException |
| | | * @since 1.5.0 |
| | | */ |
| | | boolean upgradePlugin(String pluginId, String url, boolean verifyChecksum) throws IOException; |
| | | |
| | | /** |
| | | * The list of all registered plugins. |
| | | * |
| | | * @return a list of registered plugins |
| | | * @since 1.5.0 |
| | | */ |
| | | List<PluginRegistration> getRegisteredPlugins(); |
| | | |
| | |
| | | * |
| | | * @param state |
| | | * @return the list of plugins that match the install state |
| | | * @since 1.5.0 |
| | | */ |
| | | List<PluginRegistration> getRegisteredPlugins(InstallState state); |
| | | |
| | |
| | | * |
| | | * @param idOrName |
| | | * @return a plugin registration or null |
| | | * @since 1.5.0 |
| | | */ |
| | | PluginRegistration lookupPlugin(String idOrName); |
| | | |
| | |
| | | * @param idOrName |
| | | * @param version (use null for the current version) |
| | | * @return the identified plugin version or null |
| | | * @since 1.5.0 |
| | | */ |
| | | PluginRelease lookupRelease(String idOrName, String version); |
| | | } |