Module io.helidon.service.registry
Package io.helidon.service.registry
package io.helidon.service.registry
API required to define services, and to compile the code generated sources for Helidon Service Registry,
with a core service registry implementation (replacement for
ServiceLoader
).
The following main entry point for declaring services is Service
.
-
ClassDescriptionProgression of activation of a managed service instance.Request to activate a service.Fluent API builder for
ActivationRequest
.ActivationRequest.BuilderBase<BUILDER extends ActivationRequest.BuilderBase<BUILDER,PROTOTYPE>, PROTOTYPE extends ActivationRequest> Fluent API builder base forActivationRequest
.Generated implementation of the prototype, can be extended by descendant prototype implementations.Represents the result of a service activation or deactivation.Fluent API builder forActivationResult
.ActivationResult.BuilderBase<BUILDER extends ActivationResult.BuilderBase<BUILDER,PROTOTYPE>, PROTOTYPE extends ActivationResult> Fluent API builder base forActivationResult
.Generated implementation of the prototype, can be extended by descendant prototype implementations.Activator<T>Activator is responsible for lifecycle management of a service instance within a scope.A binding instance, if available at runtime, will be expected to provide a plan for all service provider's injection points.Dependency metadata.Fluent API builder forDependency
.Dependency.BuilderBase<BUILDER extends Dependency.BuilderBase<BUILDER,PROTOTYPE>, PROTOTYPE extends Dependency> Fluent API builder base forDependency
.Generated implementation of the prototype, can be extended by descendant prototype implementations.Cardinality of the injection point.All data needed for creating an instance of a service.Responsible for registering the injection plan to the services in the service registry.The binder builder for the service plan.Metadata of a single service descriptor.An empty binding that configures nothing.Injection event types.A service method that is an event observer.To publish an event, simply inject an instance of this type (correctly typed with your event object) into your service, and callEvent.Emitter.emit(Object, Qualifier...)
on it when needed.A service method that is an event observer.This exception is thrown when event dispatching fails.Event manager is used by generated code to manage events and listeners.A special case service descriptor allowing registration of service instances that do not have a code generated service descriptor, such as for testing.Described service factory type.All types in this class are used from generated code for services.Utility type to provide method to combine injection point information for inheritance support.For event observers an observer registration is generated, so it can be picked-up by theEventManager
implementation at runtime.Wrapper for generated Service factories that implement aService.InjectionPointFactory
.Each descriptor for s service that is annotated withService.PerInstance
implements this interface to provide information about the type that drives it.Each descriptor for s service that is implementsService.QualifiedFactory
implements this interface to provide information about the qualifier it supports.Wrapper for generated Service factories that implement aService.QualifiedFactory
.Each descriptor for a service that implementsService.ScopeHandler
implements this interface to provide information about the scope it handles.Wrapper for generated Service factories that implement aService.ServicesFactory
.Wrapper for generated Service factories that implement aSupplier
of a service.Application wide service registry backed byContext
.Interception annotations and types.Use this annotation to mark a class ready for interception delegation.Use this annotation to mark an external class ready for interception delegation.Meta-annotation for an annotation that will trigger services annotated with it to become intercepted.Implementors of this contract must beService.Named
according to theInterception.Intercepted
annotation they support.Represents the next in line for interception, terminating with a call to the service instance.Invocation context provides metadata about the invoked element to an interceptor.Fluent API builder forInterceptionContext
.InterceptionContext.BuilderBase<BUILDER extends InterceptionContext.BuilderBase<BUILDER,PROTOTYPE>, PROTOTYPE extends InterceptionContext> Fluent API builder base forInterceptionContext
.Generated implementation of the prototype, can be extended by descendant prototype implementations.Wraps any checked exceptions that are thrown during theInterception.Interceptor
invocations.Invocation of an element that has parameters, and may throw checked exceptions.Provides a service descriptor, or an intercepted instance with information whether to, and how to intercept elements.Lookup criteria to discover services, mostly used when interacting with a service registry.Fluent API builder forLookup
.Fluent API builder base forLookup
.Generated implementation of the prototype, can be extended by descendant prototype implementations.Represents a qualifier annotation (a specific case of annotations, annotated withService.Qualifier
).Fluent API builder forQualifier
.Qualifier.BuilderBase<BUILDER extends Qualifier.BuilderBase<BUILDER,PROTOTYPE>, PROTOTYPE extends Qualifier> Fluent API builder base forQualifier
.Generated implementation of the prototype, can be extended by descendant prototype implementations.Methods used from generated code in builders when service registry (without Config) is used.Metrics provided by the service registry.ServiceLoader
implementation of a Helidon startup provider for Helidon Service Registry based applications.A scope, such as request scope.Service registry of a specific scope.An attempt was done to get a service instance from a scope that is not active.Service that provides support for creatingScope
instances.A set of annotations (and APIs) required to declare a service.TheContract
annotation is used to relay significance to the type that it annotates.Describe the annotated type.Annotation to add a custom service descriptor.Placed on the implementation of a service as an alternative to using aService.Contract
.Instruction for the Helidon Service Codegen to generate application binding.Method, constructor, or field marked with this annotation is considered as injectable, and its injection points will be satisfied with services from the service registry.Provides ability to contextualize the injected service by the target receiver of the injection point dynamically at runtime.For types that areService.PerInstance
, an injection point (field, parameter) can be annotated with this annotation to receive the name qualifier associated with this instance.A qualifier that can restrict injection to specifically named instances, or that qualifies services with that name.This annotation is effectively the same asService.Named
where theService.Named.value()
is aClass
name instead of aString
.A service that has instances created for each named instance of the service it is driven by.A partial scope that creates a new instance for each injection point/lookup.A service with an instance per request.A method annotated with this annotation will be invoked after the constructor is finished and all dependencies are satisfied.A method annotated with this annotation will be invoked when the service registry shuts down.Deprecated, for removal: This API element is subject to removal in a future version.Service.QualifiedFactory<T,A extends Annotation> A factory to resolve qualified injection points of any type.An instance with its qualifiers.Marks annotations that act as qualifiers.Indicates the desired startup sequence for a service class.Scope annotation.Extension point for the service registry to support new scopes.Provides an ability to create more than one service instance from a single service definition.A singleton service.A descriptor of a service.Access to discovered service metadata.Service metadata.An instance managed by the service registry, with a subset of relevant metadata.Entry point to services in Helidon.Helidon service registry configuration.Fluent API builder forServiceRegistryConfig
.ServiceRegistryConfig.BuilderBase<BUILDER extends ServiceRegistryConfig.BuilderBase<BUILDER,PROTOTYPE>, PROTOTYPE extends ServiceRegistryConfig> Fluent API builder base forServiceRegistryConfig
.Generated implementation of the prototype, can be extended by descendant prototype implementations.An exception marking a problem with service registry operations.Manager is responsible for managing the state of aServiceRegistry
.Static access to the service registry.A virtual descriptor is not backed by a generated descriptor.
Service.Singleton
,Service.PerLookup
).