Class InternalConfigPropertyDocumenterGuiceRole

java.lang.Object
com.peterphi.std.guice.common.serviceprops.InternalConfigPropertyDocumenterGuiceRole
All Implemented Interfaces:
GuiceRole

public class InternalConfigPropertyDocumenterGuiceRole extends Object implements GuiceRole
Role responsible for making it possible to read all Guice Properties that are defined globally (e.g. GuiceProperties) or at the Module level. Eventual aim is to make this lazy-loading, but initially it will just be eager-loaded
  • Constructor Details

    • InternalConfigPropertyDocumenterGuiceRole

      public InternalConfigPropertyDocumenterGuiceRole()
  • Method Details

    • adjustConfigurations

      public void adjustConfigurations(List<PropertyFile> configs)
      Description copied from interface: GuiceRole
      Provides an opportunity, pre-compositing, to influence the configuration sources and order. Configuration sources earlier in this list will be overridden by configuration sources later in the list.

      Called before GuiceRole.register(Stage, ClassScannerFactory, GuiceConfig, GuiceSetup, List, AtomicReference, MetricRegistry)

      Specified by:
      adjustConfigurations in interface GuiceRole
    • register

      public void register(com.google.inject.Stage stage, ClassScannerFactory scannerFactory, GuiceConfig config, GuiceSetup setup, List<com.google.inject.Module> modules, AtomicReference<com.google.inject.Injector> injectorRef, com.codahale.metrics.MetricRegistry metrics)
      Description copied from interface: GuiceRole
      Provides an opportunity to influence modules (adding, removing, reordering) being loaded. Called before the GuiceSetup class has loaded its modules.

      Called before GuiceRole.injectorCreated(Stage, ClassScannerFactory, GuiceConfig, GuiceSetup, List, AtomicReference, MetricRegistry)

      Specified by:
      register in interface GuiceRole
      scannerFactory - a factory for a classpath scanner for the user application classes. Implementations should not hold on to this for long (to save memory usage)
      injectorRef - a reference which will be updated to contain the Injector once the guice environment has been set up
      metrics - the MetricsRegistry for environment-wide metrics
    • injectorCreated

      public void injectorCreated(com.google.inject.Stage stage, ClassScannerFactory scannerFactory, GuiceConfig config, GuiceSetup setup, List<com.google.inject.Module> modules, AtomicReference<com.google.inject.Injector> injectorRef, com.codahale.metrics.MetricRegistry metrics)
      Description copied from interface: GuiceRole
      Called once the Injector has been created
      Specified by:
      injectorCreated in interface GuiceRole
      scannerFactory - a factory for a classpath scanner for the user application classes. Implementations should not hold on to this for long (to save memory usage)
      modules - the final list of modules in use
      injectorRef - the reference to the injector, must contain a non-null value
      metrics - the MetricsRegistry for environment-wide metrics