Interface ServiceDescriptor<T>
- Type Parameters:
T- type of the described service
- All Superinterfaces:
Comparable<Weighted>, ServiceInfo, Weighted
- All Known Implementing Classes:
ArrayBindingFactory__ServiceDescriptor, AsyncImpl__ServiceDescriptor, BigDecimalConverter__ServiceDescriptor, BigIntegerConverter__ServiceDescriptor, BinaryDataConverter__ServiceDescriptor, BooleanArrayConverter__ServiceDescriptor, BooleanConverter__ServiceDescriptor, BooleanFalseValidatorProvider__ServiceDescriptor, BooleanTrueValidatorProvider__ServiceDescriptor, BulkheadImpl__ServiceDescriptor, ByteArrayConverter__ServiceDescriptor, ByteConverter__ServiceDescriptor, CalendarConverter__ServiceDescriptor, CalendarFutureOrPresentValidatorProvider__ServiceDescriptor, CalendarFutureValidatorProvider__ServiceDescriptor, CalendarPastOrPresentValidatorProvider__ServiceDescriptor, CalendarPastValidatorProvider__ServiceDescriptor, ChannelRegistry__ServiceDescriptor, CharacterConverter__ServiceDescriptor, CharArrayConverter__ServiceDescriptor, CircuitBreakerImpl__ServiceDescriptor, CollectionSizeValidationProvider__ServiceDescriptor, ConfigObserveProvider__ServiceDescriptor, ConfigProvider__ServiceDescriptor, ConfigurationValueFactory__ServiceDescriptor, CorsFeature__ServiceDescriptor, DataSourceConfigFactory__ServiceDescriptor, DateConverter__ServiceDescriptor, DefaultClockService__ServiceDescriptor, DefaultErrorHandling__ServiceDescriptor, DefaultMapperProvider__ServiceDescriptor, DefaultResolverService__ServiceDescriptor, DoubleArrayConverter__ServiceDescriptor, DoubleConverter__ServiceDescriptor, DurationConverter__ServiceDescriptor, EnumBindingFactory__ServiceDescriptor, EventManagerImpl__ServiceDescriptor, ExemplarServiceManager__ServiceDescriptor, ExistingInstanceDescriptor, FloatArrayConverter__ServiceDescriptor, FloatConverter__ServiceDescriptor, GregorianCalendarConverter__ServiceDescriptor, GrpcEntryPointsImpl__ServiceDescriptor, GrpcServerFeature__ServiceDescriptor, Headers__ServiceDescriptor, HealthObserveProvider__ServiceDescriptor, HelidonTracingBasedTracerServiceFactory__ServiceDescriptor, HelidonTracingSemanticConventionsProvider__ServiceDescriptor, HikariDataSourceProviderService__ServiceDescriptor, HttpEntryPointsImpl__ServiceDescriptor, HttpPrologue__ServiceDescriptor, HttpSecurityInterceptor__ServiceDescriptor, InfoObserveProvider__ServiceDescriptor, InstanceName__ServiceDescriptor, InstantConverter__ServiceDescriptor, IntArrayConverter__ServiceDescriptor, IntegerConverter__ServiceDescriptor, IntegerMaxValidatorProvider__ServiceDescriptor, IntegerMinValidatorProvider__ServiceDescriptor, IntegerMultipleOfValidatorProvider__ServiceDescriptor, InterceptionMetadata__ServiceDescriptor, JdbcClientConfigFactory__ServiceDescriptor, JdbcClientFactory__ServiceDescriptor, JdbcDataSourceService__ServiceDescriptor, JdbcTransactionConnectionManager__ServiceDescriptor, JdbcTxSupport__ServiceDescriptor, JpaRepositoryExecutorImpl__ServiceDescriptor, JsonArrayConverter__ServiceDescriptor, JsonBindingConfigProvider__ServiceDescriptor, JsonBindingProvider__ServiceDescriptor, JsonBooleanConverter__ServiceDescriptor, JsonNullConverter__ServiceDescriptor, JsonNumberConverter__ServiceDescriptor, JsonObjectConverter__ServiceDescriptor, JsonStringConverter__ServiceDescriptor, JsonValueConverter__ServiceDescriptor, LinkedListBindingFactory__ServiceDescriptor, ListBindingFactory__ServiceDescriptor, LocalDateConverter__ServiceDescriptor, LocalDateTimeConverter__ServiceDescriptor, LocalTimeConverter__ServiceDescriptor, LocalTransactionStorage_LocalTransactionManager__ServiceDescriptor, LocalTransactionStorage_LocalTransactionProvider__ServiceDescriptor, LocalTxSupport__ServiceDescriptor, LogObserveProvider__ServiceDescriptor, LongArrayConverter__ServiceDescriptor, LongConverter__ServiceDescriptor, LongMaxValidatorProvider__ServiceDescriptor, LongMinValidatorProvider__ServiceDescriptor, LongMultipleOfValidatorProvider__ServiceDescriptor, LoomClient__ServiceDescriptor, LoomServer__ServiceDescriptor, MapBindingFactory__ServiceDescriptor, MappersFactory__ServiceDescriptor, MessagingConfigSupport_ConfigurationProvider__ServiceDescriptor, MessagingEntryPointsImpl__ServiceDescriptor, MessagingLifecycleGuard__ServiceDescriptor, MetaConfigFactory__ServiceDescriptor, MeterRegistryFactory__ServiceDescriptor, MetricsFactoryFactory__ServiceDescriptor, MetricsObserveProvider__ServiceDescriptor, NotNullValidatorProvider__ServiceDescriptor, NullValidatorProvider__ServiceDescriptor, NumberDigitsValidatorProvider__ServiceDescriptor, NumberMaxValidatorProvider__ServiceDescriptor, NumberMinValidatorProvider__ServiceDescriptor, NumberMultipleOfValidatorProvider__ServiceDescriptor, NumberNegativeOrZeroValidatorProvider__ServiceDescriptor, NumberNegativeValidatorProvider__ServiceDescriptor, NumberPositiveOrZeroValidatorProvider__ServiceDescriptor, NumberPositiveValidatorProvider__ServiceDescriptor, ObjectConverter__ServiceDescriptor, ObserveFeatureProvider__ServiceDescriptor, ObserveFeatureServicesFactory__ServiceDescriptor, ObserverServicesFactory__ServiceDescriptor, ObserveServices__ServiceDescriptor, OffsetDateTimeConverter__ServiceDescriptor, OpenApi30VersionProvider__ServiceDescriptor, OpenApi31VersionProvider__ServiceDescriptor, OpenApi32VersionProvider__ServiceDescriptor, OpenApiFeature__ServiceDescriptor, OpenTelemetryConfigOwnershipStrategy__ServiceDescriptor, OptionalBindingFactory__ServiceDescriptor, OptionalDoubleConverter__ServiceDescriptor, OptionalIntConverter__ServiceDescriptor, OptionalLongConverter__ServiceDescriptor, PeriodConverter__ServiceDescriptor, PerRequestScopeHandler__ServiceDescriptor, PersistenceUnitFactory__ServiceDescriptor, PrimitiveBooleanConverter__ServiceDescriptor, PrimitiveByteConverter__ServiceDescriptor, PrimitiveCharConverter__ServiceDescriptor, PrimitiveDoubleConverter__ServiceDescriptor, PrimitiveFloatConverter__ServiceDescriptor, PrimitiveIntegerConverter__ServiceDescriptor, PrimitiveLongConverter__ServiceDescriptor, PrimitiveShortConverter__ServiceDescriptor, RequestScopeFeatureProvider__ServiceDescriptor, RetryImpl__ServiceDescriptor, Scopes__ServiceDescriptor, SeMetricsProgrammaticConfig__ServiceDescriptor, ServerRequest__ServiceDescriptor, ServerRequestHeaders__ServiceDescriptor, ServerResponse__ServiceDescriptor, ServiceLoader__ServiceDescriptor, ServiceRegistry__ServiceDescriptor, SetBindingFactory__ServiceDescriptor, ShortArrayConverter__ServiceDescriptor, ShortConverter__ServiceDescriptor, StringConverter__ServiceDescriptor, StringEmailValidatorProvider__ServiceDescriptor, StringLengthValidatorProvider__ServiceDescriptor, StringNotBlankValidatorProvider__ServiceDescriptor, StringNotEmptyValidatorProvider__ServiceDescriptor, StringPatternValidatorProvider__ServiceDescriptor, SystemTagsManagerImpl__ServiceDescriptor, TaskManagerImpl__ServiceDescriptor, TimeoutImpl__ServiceDescriptor, TracerFactory__ServiceDescriptor, TracingObserveProvider__ServiceDescriptor, TracingOpenTelemetryOwnershipStrategy__ServiceDescriptor, TransactionContext_JtaLifeCycle__ServiceDescriptor, TypeValidationService__ServiceDescriptor, UcpDataSourceProviderService__ServiceDescriptor, UuidConverter__ServiceDescriptor, ValidatorsService__ServiceDescriptor, VirtualDescriptor, WebClientConfigFactory__ServiceDescriptor, WebServerService__ServiceDescriptor, WebServerStarterService__ServiceDescriptor, WsServerFeature__ServiceDescriptor, ZonedDateTimeConverter__ServiceDescriptor
A descriptor of a service. In addition to providing service metadata, this also allows instantiation
of the service instance, with dependent services as parameters.
-
Field Summary
Fields inherited from interface Weighted
DEFAULT_WEIGHTModifier and TypeFieldDescriptionstatic final doubleDefault weight for any weighted component (whether it implements this interface or usesWeightannotation). -
Method Summary
Modifier and TypeMethodDescriptiondefault voidinject(DependencyContext ctx, InterceptionMetadata interceptionMetadata, Set<String> injected, T instance) Inject fields and methods.default Objectinstantiate(DependencyContext ctx, InterceptionMetadata interceptionMetadata) Create a new service instance.default voidpostConstruct(T instance) InvokeService.PostConstructannotated method(s).default voidpreDestroy(T instance) InvokeService.PreDestroyannotated method(s).default TypeNamescope()Scope of this service.default Set<ResolvedType> typeSet(ResolvedType contract) Provide a mapping of a contracts of this service to its contract type set.Methods inherited from interface ServiceInfo
contracts, dependencies, descriptorType, factoryContracts, factoryType, isAbstract, providedType, qualifiers, runLevel, serviceTypeModifier and TypeMethodDescriptiondefault Set<ResolvedType> Set of contracts the described service implements or provides through a factory method.default List<Dependency> List of dependencies required by this service.Type of the service descriptor (usually generated).default Set<ResolvedType> Set of contracts that identify the factory provider itself.default FactoryTypeWhat factory type is the described service.default booleanReturnstruefor abstract classes and interfaces, returnsfalseby default.default TypeNameThe type that implementsServiceInfo.contracts().Service qualifiers.runLevel()Run level of this service.Type of the service this descriptor describes.
-
Method Details
-
instantiate
Create a new service instance.- Parameters:
ctx- dependency context with all dependencies of this serviceinterceptionMetadata- metadata handler for interception- Returns:
- a new instance, must be of the type T or a subclass
-
inject
default void inject(DependencyContext ctx, InterceptionMetadata interceptionMetadata, Set<String> injected, T instance) Inject fields and methods.- Parameters:
ctx- injection contextinterceptionMetadata- interception metadata to support interception of field injectioninjected- mutable set of already injected methods from subtypesinstance- instance to update
-
postConstruct
InvokeService.PostConstructannotated method(s).- Parameters:
instance- instance to use
-
preDestroy
InvokeService.PreDestroyannotated method(s).- Parameters:
instance- instance to use
-
scope
Scope of this service.- Specified by:
scopein interfaceServiceInfo- Returns:
- scope of the service
-
typeSet
Provide a mapping of a contracts of this service to its contract type set. If the result is empty, it will be ignored.- Parameters:
contract- contract to get types for- Returns:
- type map for each type that is a contract of this service
-