Interface Activator

All Known Implementing Classes:
AbstractServiceProvider, ConfigDrivenServiceProviderBase, ReflectionBasedSingletonServiceProvider

public interface Activator
Activators are responsible for lifecycle creation and lazy activation of service providers. They are responsible for taking the ServiceProvider's manage service instance from Phase.PENDING through Phase.POST_CONSTRUCTING (i.e., including any PostConstructMethod invocations, etc.), and finally into the Phase.ACTIVE phase.

Assumption:

  1. Each ServiceProvider managing its backing service will have an activator strategy conforming to the DI specification.
  2. Each services activation is expected to be non-blocking, but may in fact require deferred blocking activities to become fully ready for runtime operation.
Activation includes:
  1. Management of the service's Phase.
  2. Control over creation (i.e., invoke the constructor non-reflectively).
  3. Control over gathering the service requisite dependencies (ctor, field, setters) and optional activation of those.
  4. Invocation of any PostConstructMethod.
  5. Responsible to logging to the ActivationLog - see InjectionServices.activationLog().
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    io.helidon.inject.api.ActivationResult
    activate(io.helidon.inject.api.ActivationRequest activationRequest)
    Activate a managed service/provider.
  • Method Details

    • activate

      io.helidon.inject.api.ActivationResult activate(io.helidon.inject.api.ActivationRequest activationRequest)
      Activate a managed service/provider.
      Parameters:
      activationRequest - activation request
      Returns:
      the result of the activation