Class PluginsService

All Implemented Interfaces:

public class PluginsService extends Object implements ReportingService<PluginsAndModules>
  • Field Details

  • Constructor Details

    • PluginsService

      public PluginsService(Settings settings, Path configPath, Path modulesDirectory, Path pluginsDirectory, Collection<Class<? extends Plugin>> classpathPlugins)
      Constructs a new PluginService
      settings - The settings of the system
      modulesDirectory - The directory modules exist in, or null if modules should not be loaded from the filesystem
      pluginsDirectory - The directory plugins exist in, or null if plugins should not be loaded from the filesystem
      classpathPlugins - Plugins that exist in the classpath which should be loaded
  • Method Details

    • getPluginSettings

      public List<Setting<?>> getPluginSettings()
    • getPluginSettingsFilter

      public List<String> getPluginSettingsFilter()
    • updatedSettings

      public Settings updatedSettings()
    • createGuiceModules

      public Collection<Module> createGuiceModules()
    • getExecutorBuilders

      public List<ExecutorBuilder<?>> getExecutorBuilders(Settings settings)
    • getGuiceServiceClasses

      public Collection<Class<? extends LifecycleComponent>> getGuiceServiceClasses()
      Returns all classes injected into guice by plugins which extend LifecycleComponent.
    • onIndexModule

      public void onIndexModule(IndexModule indexModule)
    • info

      public PluginsAndModules info()
      Get information about plugins and modules
      Specified by:
      info in interface ReportingService<PluginsAndModules>
    • findPluginDirs

      public static List<Path> findPluginDirs(Path rootPath) throws IOException
      Extracts all installed plugin directories from the provided rootPath.
      rootPath - the path where the plugins are installed
      a list of all plugin paths installed in the rootPath
      IOException - if an I/O exception occurred reading the directories
    • filterPlugins

      public <T> List<T> filterPlugins(Class<T> type)