Class SummerBigBang

java.lang.Object
org.summerboot.jexpress.boot.SummerSingularity
org.summerboot.jexpress.boot.SummerBigBang
Direct Known Subclasses:
SummerApplication

public abstract class SummerBigBang extends SummerSingularity
In Code We Trust
Author:
Changski Tie Zheng Zhang 张铁铮, 魏泽北, 杜旺财, 杜富贵
  • Field Details

    • userOverrideModule

      protected final com.google.inject.Module userOverrideModule
    • guiceInjector

      protected com.google.inject.Injector guiceInjector
    • summerInitializers

      protected List<SummerInitializer> summerInitializers
    • summerRunners

      protected List<SummerRunner> summerRunners
    • scheduler

      protected org.quartz.Scheduler scheduler
    • schedulerTriggers

      protected int schedulerTriggers
  • Constructor Details

    • SummerBigBang

      protected SummerBigBang(Class callerClass, com.google.inject.Module userOverrideModule, String... args)
  • Method Details

    • getGuiceInjector

      public com.google.inject.Injector getGuiceInjector()
    • bang

      protected void bang()
    • aParallelUniverse

      protected <T extends SummerApplication> T aParallelUniverse(String... args)
    • bigBang_LetThereBeCLI

      protected void bigBang_LetThereBeCLI(String[] args)
    • scanImplementation_SummerInitializer

      protected List<SummerInitializer> scanImplementation_SummerInitializer()
    • runCLI_Utils

      protected boolean runCLI_Utils()
    • bigBang_AndThereWasCLI

      protected void bigBang_AndThereWasCLI()
    • getAddtionalI18n

      protected abstract Class getAddtionalI18n()
    • loadBootConfigFiles

      protected int loadBootConfigFiles(ConfigUtil.ConfigLoadMode mode)
      initialize based on config files in configDir
      Parameters:
      mode -
      Returns:
    • isUserSpecifiedImplTags

      protected boolean isUserSpecifiedImplTags(String mockItemName)
    • genesis

      protected void genesis(Class primaryClass, Set<String> userSpecifiedImplTags)
      Triggered by CLI CLI_USE_IMPL, then to trigger subclass to init IoC container.IoC container initialization should happened after CLI and load configuration, it will called when SummerBigBang.CLI_USE_IMPL result is ready
      Parameters:
      primaryClass -
      userSpecifiedImplTags -
    • onGuiceInjectorCreated_ControllersInjected

      @Inject protected void onGuiceInjectorCreated_ControllersInjected(@Controller Map<String,Object> controllers)
      callback by Guice Module.

      triggered by Guice.createInjector(module) --> BootGuiceModule.configure() --> BootGuiceModule.scanAnnotation_BindInstance(...) to load all classes annotated with @Controller

      Parameters:
      controllers -
    • onGuiceInjectorCreated_DefaultHealthInspectorInjected

      @Inject protected void onGuiceInjectorCreated_DefaultHealthInspectorInjected(@Inspector Map<String,Object> defaultHealthInspectors)
    • scanImplementation_SummerRunner

      protected void scanImplementation_SummerRunner(com.google.inject.Injector injector)
    • scanAnnotation_Scheduled

      protected int scanAnnotation_Scheduled(com.google.inject.Injector injector, String... rootPackageNames)