Class GuiceProvisionTimeHook

  • All Implemented Interfaces:
    GuiceyConfigurationHook

    public class GuiceProvisionTimeHook
    extends java.lang.Object
    implements GuiceyConfigurationHook
    Hook enables guice provision time logs. It is assumed to be used to enable provision time logs for compiled application with system property: -Dguicey.hooks=provision-time.

    Also, hook could be used in tests to track created guice beans:

    
       @EnableHook
        static GuiceProvisionTimeHook hook = new GuiceProvisionTimeHook();
    
       @Test
        public void test() {
            hook.clearData()
            // anything requiring provision
            injector.getInstance(SomeService.class);
            // the report would contain only one bean creation
            System.out.println(hook.renderReport())
        }
     
    Since:
    25.03.2025
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String ALIAS
      System property hook alias name.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void clearData()
      Clear collected data.
      void configure​(GuiceBundle.Builder builder)
      Configuration is applied just after manual configuration (through bundle's builder in application class).
      com.google.common.collect.ListMultimap<com.google.inject.Binding<?>,​java.time.Duration> getRecordedData()
      Map format: binding - provisions time.
      java.lang.String renderReport()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait