java.lang.Object
ru.vyarus.dropwizard.guice.module.installer.internal.ExtensionsHolder

public class ExtensionsHolder extends Object
Bean used to hold found extensions (after scan with installers) to register them in dropwizard after injector creation.

Internal api. Use GuiceyConfigurationInfo instead.

Since:
01.09.2014
  • Constructor Details

    • ExtensionsHolder

      public ExtensionsHolder(List<FeatureInstaller> installers)
      Create extensions holder.
      Parameters:
      installers - installers
  • Method Details

    • getScanExtensions

      public List<ExtensionsHolder.ScanItem> getScanExtensions()
      Returns:
      extensions recognized by classpath scan
    • acceptScanCandidate

      public boolean acceptScanCandidate(Class<?> candidate)
      Auto scan performed under configuration phase, but actual extensions registration only in run phase because manual extensions could be added at run phase (and manual extensions must be registered in priority).
      Parameters:
      candidate - potential extension
      Returns:
      true if extension accepted
    • registerExtensions

      public void registerExtensions(List<ExtensionItemInfoImpl> extensionsData)
      Prepare known extensions for installation.
      Parameters:
      extensionsData - extensions data
    • getExtensionsData

      public List<ExtensionItemInfoImpl> getExtensionsData()
      Returns:
      registered extensions objects
    • getInstallers

      public List<FeatureInstaller> getInstallers()
      Returns:
      list of all registered installer instances
    • getInstallerTypes

      public List<Class<? extends FeatureInstaller>> getInstallerTypes()
      Returns:
      list of all registered installer types
    • getExtensions

      public List<Class<?>> getExtensions(Class<? extends FeatureInstaller> installer)
      Parameters:
      installer - installer type
      Returns:
      list of all found extensions for installer or null if nothing found.
    • order

      public void order()
      Order extension according to Order annotation. Installer must implement Ordered otherwise no order appear.