Module io.helidon.inject.api
Package io.helidon.inject.api
Class InjectionServicesConfig.BuilderBase<BUILDER extends InjectionServicesConfig.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends InjectionServicesConfig>
java.lang.Object
io.helidon.inject.api.InjectionServicesConfig.BuilderBase<BUILDER,PROTOTYPE>
- Type Parameters:
BUILDER- type of the builder extending this abstract builderPROTOTYPE- type of the prototype interface that would be built byPrototype.Builder.buildPrototype()
- All Implemented Interfaces:
Prototype.Builder<BUILDER,,PROTOTYPE> Prototype.ConfiguredBuilder<BUILDER,PROTOTYPE>
- Direct Known Subclasses:
InjectionServicesConfig.Builder
- Enclosing interface:
InjectionServicesConfig
public abstract static class InjectionServicesConfig.BuilderBase<BUILDER extends InjectionServicesConfig.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends InjectionServicesConfig>
extends Object
implements Prototype.ConfiguredBuilder<BUILDER,PROTOTYPE>
Fluent API builder base for
InjectionServicesConfig.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classGenerated implementation of the prototype, can be extended by descendant prototype implementations. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionThe deadlock detection timeout in millis.activationDeadlockDetectionTimeout(Duration activationDeadlockDetectionTimeout) The deadlock detection timeout in millis.booleanFlag indicating whether activation logs are captured, recorded, and retained.activationLogs(boolean activationLogs) Flag indicating whether activation logs are captured, recorded, and retained.Clear existing value of this property.Clear existing value of this property.Clear existing value of this property.config()If this instance was configured, this would be the config instance used.Update builder from configuration (node of this type).debug()Whether debug is enabled.debug(boolean debug) Whether debug is enabled.from(InjectionServicesConfig prototype) Update this builder from an existing prototype instance.from(InjectionServicesConfig.BuilderBase<?, ?> builder) Update this builder from an existing prototype builder instance.booleanFlag indicating whether the services registry permits dynamic behavior.permitsDynamic(boolean permitsDynamic) Flag indicating whether the services registry permits dynamic behavior.booleanFlag indicating whether reflection is permitted.permitsReflection(boolean permitsReflection) Flag indicating whether reflection is permitted.protected voidHandles providers and decorators.The provider implementation name.providerName(String providerName) The provider implementation name.The provider implementation version.providerVersion(String providerVersion) The provider implementation version.booleanFlag indicating whether service lookups (i.e., viaServices.lookup(java.lang.Class<T>)) are cached.serviceLookupCaching(boolean serviceLookupCaching) Flag indicating whether service lookups (i.e., viaServices.lookup(java.lang.Class<T>)) are cached.Shutdown timeout.shutdownTimeout(Duration shutdownTimeout) Shutdown timeout.booleanFlag indicating whether the dependency injection model for theApplicationandActivatoris capable for being produced at compile-time, and therefore used/loaded during runtime operations.supportsCompileTime(boolean supportsCompileTime) Flag indicating whether the dependency injection model for theApplicationandActivatoris capable for being produced at compile-time, and therefore used/loaded during runtime operations.booleanFlag indicating whether contextual lookup is supported viaServices.contextualServices(InjectionPointInfo).supportsContextualLookup(boolean supportsContextualLookup) Flag indicating whether contextual lookup is supported viaServices.contextualServices(InjectionPointInfo).booleanFlag indicating whether the services registry supports dynamic behavior.supportsDynamic(boolean supportsDynamic) Flag indicating whether the services registry supports dynamic behavior.booleanFlag indicating whether jsr330 is supported by the provider implementation.supportsJsr330(boolean supportsJsr330) Flag indicating whether jsr330 is supported by the provider implementation.booleanFlag indicating whether jsr330 is supported by the provider implementation for the use on private injection points.supportsJsr330Privates(boolean supportsJsr330Privates) Flag indicating whether jsr330 is supported by the provider implementation for the use on private injection points.booleanFlag indicating whether jsr330 is supported by the provider implementation for the use on static injection points.supportsJsr330Statics(boolean supportsJsr330Statics) Flag indicating whether jsr330 is supported by the provider implementation for the use on static injection points.booleanFlag indicating whether the reflection is supported.supportsReflection(boolean supportsReflection) Flag indicating whether the reflection is supported.toString()booleanFlag indicating whether compile-time generatedApplication's should be used at Injection's startup initialization.usesCompileTimeApplications(boolean usesCompileTimeApplications) Flag indicating whether compile-time generatedApplication's should be used at Injection's startup initialization.booleanFlag indicating whether compile-time generatedModuleComponent's should be used at Injection's startup initialization.usesCompileTimeModules(boolean usesCompileTimeModules) Flag indicating whether compile-time generatedModuleComponent's should be used at Injection's startup initialization.booleanFlag indicating whether jsr330 specification will be used and enforced.usesJsr330(boolean usesJsr330) Flag indicating whether jsr330 specification will be used and enforced.protected voidValidates required properties.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface io.helidon.builder.api.Prototype.Builder
buildPrototype, selfMethods inherited from interface io.helidon.builder.api.Prototype.ConfiguredBuilder
discoverService, discoverServices
-
Constructor Details
-
BuilderBase
protected BuilderBase()Protected to support extensibility.
-
-
Method Details
-
from
Update this builder from an existing prototype instance.- Parameters:
prototype- existing prototype to update this builder from- Returns:
- updated builder instance
-
from
Update this builder from an existing prototype builder instance.- Parameters:
builder- existing builder prototype to update this builder from- Returns:
- updated builder instance
-
config
Update builder from configuration (node of this type). If a value is present in configuration, it would override currently configured values.- Specified by:
configin interfacePrototype.ConfiguredBuilder<BUILDER extends InjectionServicesConfig.BuilderBase<BUILDER,PROTOTYPE>, PROTOTYPE extends InjectionServicesConfig> - Parameters:
config- configuration instance used to obtain values to update this builder- Returns:
- updated builder instance
-
clearProviderName
Clear existing value of this property.- Returns:
- updated builder instance
- See Also:
-
providerName
The provider implementation name.- Parameters:
providerName- the provider implementation name- Returns:
- updated builder instance
- See Also:
-
clearProviderVersion
Clear existing value of this property.- Returns:
- updated builder instance
- See Also:
-
providerVersion
The provider implementation version.- Parameters:
providerVersion- the provider implementation version- Returns:
- updated builder instance
- See Also:
-
activationDeadlockDetectionTimeout
The deadlock detection timeout in millis.- Parameters:
activationDeadlockDetectionTimeout- the deadlock detection timeout- Returns:
- updated builder instance
- See Also:
-
shutdownTimeout
Shutdown timeout.- Parameters:
shutdownTimeout- shutdown timeout- Returns:
- updated builder instance
- See Also:
-
activationLogs
Flag indicating whether activation logs are captured, recorded, and retained.- Parameters:
activationLogs- the flag indicating whether activation logs are captured and retained- Returns:
- updated builder instance
- See Also:
-
serviceLookupCaching
Flag indicating whether service lookups (i.e., viaServices.lookup(java.lang.Class<T>)) are cached.- Parameters:
serviceLookupCaching- the flag indicating whether service lookups are cached- Returns:
- updated builder instance
- See Also:
-
permitsDynamic
Flag indicating whether the services registry permits dynamic behavior. The default implementation of Injection supports dynamic (seesupportsDynamic()), but does not permit it by default.- Parameters:
permitsDynamic- the flag indicating whether the services registry supports dynamic updates of the service registry- Returns:
- updated builder instance
- See Also:
-
supportsDynamic
Flag indicating whether the services registry supports dynamic behavior. Note that if the provider does not support this flag then permitting it viapermitsDynamic()will have no affect. The default implementation of Injection supports dynamic, but does not permit it by default.- Parameters:
supportsDynamic- the flag indicating whether the services registry supports dynamic updates of the service registry post startup- Returns:
- updated builder instance
- See Also:
-
permitsReflection
Flag indicating whether reflection is permitted. The default implementation of Injection supports reflection at compile-time only, and is not controlled by this flag directly.- Parameters:
permitsReflection- the flag indicating whether the provider is permitted to use reflection for normal runtime usage- Returns:
- updated builder instance
- See Also:
-
supportsReflection
Flag indicating whether the reflection is supported. Note that if the provider does not support this flag then permitting it viapermitsReflection()will have no affect. The default implementation of Injection supports reflection only during compile-time operations using the Injection maven-plugin.- Parameters:
supportsReflection- the flag indicating whether reflection is supported during runtime operations- Returns:
- updated builder instance
- See Also:
-
usesCompileTimeApplications
Flag indicating whether compile-time generatedApplication's should be used at Injection's startup initialization. Setting this value to false will have no affect if the underlying provider does not support compile-time generation viasupportsCompileTime().- Parameters:
usesCompileTimeApplications- the flag indicating whether the provider is permitted to use Application generated code from compile-time- Returns:
- updated builder instance
- See Also:
-
usesCompileTimeModules
Flag indicating whether compile-time generatedModuleComponent's should be used at Injection's startup initialization. Setting this value to false will have no affect if the underlying provider does not support compile-time generation viasupportsCompileTime().- Parameters:
usesCompileTimeModules- the flag indicating whether the provider is permitted to use Application generated code from compile-time- Returns:
- updated builder instance
- See Also:
-
supportsCompileTime
Flag indicating whether the dependency injection model for theApplicationandActivatoris capable for being produced at compile-time, and therefore used/loaded during runtime operations.- Parameters:
supportsCompileTime- the flag indicating whether the provider supports compile-time code generation of DI artifacts- Returns:
- updated builder instance
- See Also:
-
usesJsr330
Flag indicating whether jsr330 specification will be used and enforced.- Parameters:
usesJsr330- the flag indicating whether strict jsr330 specification will be enforced- Returns:
- updated builder instance
- See Also:
-
supportsJsr330
Flag indicating whether jsr330 is supported by the provider implementation.- Parameters:
supportsJsr330- the flag indicating whether the provider supports the jsr330 specification- Returns:
- updated builder instance
- See Also:
-
supportsJsr330Statics
Flag indicating whether jsr330 is supported by the provider implementation for the use on static injection points.- Parameters:
supportsJsr330Statics- the flag indicating whether the provider supports the jsr330 specification for the use of static injection points- Returns:
- updated builder instance
- See Also:
-
supportsJsr330Privates
Flag indicating whether jsr330 is supported by the provider implementation for the use on private injection points.- Parameters:
supportsJsr330Privates- the flag indicating whether the provider supports the jsr330 specification for the use of private injection points- Returns:
- updated builder instance
- See Also:
-
supportsContextualLookup
Flag indicating whether contextual lookup is supported viaServices.contextualServices(InjectionPointInfo).- Parameters:
supportsContextualLookup- the flag indicating whether the provider supports contextual lookup- Returns:
- updated builder instance
- See Also:
-
clearDebug
Clear existing value of this property.- Returns:
- updated builder instance
- See Also:
-
debug
Whether debug is enabled. Defaults to false, can be overridden using system propertyInjectionServices.TAG_DEBUG.- Parameters:
debug- if debug should be enabled- Returns:
- updated builder instance
- See Also:
-
providerName
The provider implementation name.- Returns:
- the provider name
-
providerVersion
The provider implementation version.- Returns:
- the provider version
-
activationDeadlockDetectionTimeout
The deadlock detection timeout in millis.- Returns:
- the activation deadlock detection timeout
-
shutdownTimeout
Shutdown timeout.- Returns:
- the shutdown timeout
-
activationLogs
public boolean activationLogs()Flag indicating whether activation logs are captured, recorded, and retained.- Returns:
- the activation logs
-
serviceLookupCaching
public boolean serviceLookupCaching()Flag indicating whether service lookups (i.e., viaServices.lookup(java.lang.Class<T>)) are cached.- Returns:
- the service lookup caching
-
permitsDynamic
public boolean permitsDynamic()Flag indicating whether the services registry permits dynamic behavior. The default implementation of Injection supports dynamic (seesupportsDynamic()), but does not permit it by default.- Returns:
- the permits dynamic
-
supportsDynamic
public boolean supportsDynamic()Flag indicating whether the services registry supports dynamic behavior. Note that if the provider does not support this flag then permitting it viapermitsDynamic()will have no affect. The default implementation of Injection supports dynamic, but does not permit it by default.- Returns:
- the supports dynamic
-
permitsReflection
public boolean permitsReflection()Flag indicating whether reflection is permitted. The default implementation of Injection supports reflection at compile-time only, and is not controlled by this flag directly.- Returns:
- the permits reflection
-
supportsReflection
public boolean supportsReflection()Flag indicating whether the reflection is supported. Note that if the provider does not support this flag then permitting it viapermitsReflection()will have no affect. The default implementation of Injection supports reflection only during compile-time operations using the Injection maven-plugin.- Returns:
- the supports reflection
-
usesCompileTimeApplications
public boolean usesCompileTimeApplications()Flag indicating whether compile-time generatedApplication's should be used at Injection's startup initialization. Setting this value to false will have no affect if the underlying provider does not support compile-time generation viasupportsCompileTime().- Returns:
- the uses compile time applications
- See Also:
-
usesCompileTimeModules
public boolean usesCompileTimeModules()Flag indicating whether compile-time generatedModuleComponent's should be used at Injection's startup initialization. Setting this value to false will have no affect if the underlying provider does not support compile-time generation viasupportsCompileTime().- Returns:
- the uses compile time modules
- See Also:
-
supportsCompileTime
public boolean supportsCompileTime()Flag indicating whether the dependency injection model for theApplicationandActivatoris capable for being produced at compile-time, and therefore used/loaded during runtime operations.- Returns:
- the supports compile time
-
usesJsr330
public boolean usesJsr330()Flag indicating whether jsr330 specification will be used and enforced.- Returns:
- the uses jsr330
-
supportsJsr330
public boolean supportsJsr330()Flag indicating whether jsr330 is supported by the provider implementation.- Returns:
- the supports jsr330
-
supportsJsr330Statics
public boolean supportsJsr330Statics()Flag indicating whether jsr330 is supported by the provider implementation for the use on static injection points.- Returns:
- the supports jsr330 statics
-
supportsJsr330Privates
public boolean supportsJsr330Privates()Flag indicating whether jsr330 is supported by the provider implementation for the use on private injection points.- Returns:
- the supports jsr330 privates
-
supportsContextualLookup
public boolean supportsContextualLookup()Flag indicating whether contextual lookup is supported viaServices.contextualServices(InjectionPointInfo).- Returns:
- the supports contextual lookup
-
debug
Whether debug is enabled. Defaults to false, can be overridden using system propertyInjectionServices.TAG_DEBUG.- Returns:
- the debug
-
config
If this instance was configured, this would be the config instance used.- Returns:
- config node used to configure this builder, or empty if not configured
-
toString
-
preBuildPrototype
protected void preBuildPrototype()Handles providers and decorators. -
validatePrototype
protected void validatePrototype()Validates required properties.
-