Class MappersConfig.BuilderBase<BUILDER extends MappersConfig.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends MappersConfig>
- 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>
- Direct Known Subclasses:
MappersConfig.Builder
- Enclosing interface:
MappersConfig
MappersConfig.-
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 TypeMethodDescriptionMappers discovered throughServiceRegistry, or explicitly created that implement bothMapper.sourceType()andMapper.targetType()methods.<S,T> BUILDER addMapper(Mapper<S, T> mapper, GenericType<S> sourceType, GenericType<T> targetType, double weight, String... qualifiers) Add a mapper to the list of mapper with custom priority.<S,T> BUILDER addMapper(Mapper<S, T> mapper, GenericType<S> sourceType, GenericType<T> targetType, String... qualifiers) Add a mapper to the list of mapper.<S,T> BUILDER addMapper(Mapper<S, T> mapper, Class<S> sourceType, Class<T> targetType, double weight, String... qualifiers) Add a mapper to the list of mapper with a custom priority.<S,T> BUILDER Add a mapper to the list of mapper.addMapperProvider(MapperProvider mapperProvider) Mapper providers allow for introduction of new mappers into the system.addMapperProviders(List<? extends MapperProvider> mapperProviders) Mapper providers allow for introduction of new mappers into the system.addMappers(List<Mapper<?, ?>> mappers) Mappers discovered throughServiceRegistry, or explicitly created that implement bothMapper.sourceType()andMapper.targetType()methods.Clear all mapperProviders.Clear all mappers.from(MappersConfig prototype) Update this builder from an existing prototype instance.from(MappersConfig.BuilderBase<?, ?> builder) Update this builder from an existing prototype builder instance.Mapper providers allow for introduction of new mappers into the system.mapperProviders(List<? extends MapperProvider> mapperProviders) Mapper providers allow for introduction of new mappers into the system.booleanService discovery flag formapperProviders().mapperProvidersDiscoverServices(boolean mapperProvidersDiscoverServices) Service discovery flag formapperProviders().mappers()Mappers discovered throughServiceRegistry, or explicitly created that implement bothMapper.sourceType()andMapper.targetType()methods.Mappers discovered throughServiceRegistry, or explicitly created that implement bothMapper.sourceType()andMapper.targetType()methods.booleanService discovery flag formappers().mappersDiscoverServices(boolean mappersDiscoverServices) Service discovery flag formappers().protected voidHandles providers and decorators.Service registry used to discover providers and services.serviceRegistry(ServiceRegistry serviceRegistry) Service registry used to discover providers and services.toString()booleanWhether to use built-in mappers.useBuiltInMappers(boolean useBuiltInMappers) Whether to use built-in mappers.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, self
-
Constructor Details
-
BuilderBase
protected BuilderBase()Protected to support extensibility.
-
-
Method Details
-
from
Update this builder from an existing prototype instance. This method disables automatic service discovery.- 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
-
addMapper
public <S,T> BUILDER addMapper(Mapper<S, T> mapper, Class<S> sourceType, Class<T> targetType, String... qualifiers) Add a mapper to the list of mapper.- Type Parameters:
S- type of sourceT- type of target- Parameters:
mapper- the mapper to map source instances to target instancessourceType- class of the source instancetargetType- class of the target instancequalifiers- supported qualifiers of this mapper (if none provided, will return a compatible response)- Returns:
- updated builder instance
-
addMapper
public <S,T> BUILDER addMapper(Mapper<S, T> mapper, GenericType<S> sourceType, GenericType<T> targetType, String... qualifiers) Add a mapper to the list of mapper.- Type Parameters:
S- type of sourceT- type of target- Parameters:
mapper- the mapper to map source instances to target instancessourceType- generic type of the source instancetargetType- generic type of the target instancequalifiers- qualifiers of this mapper, if empty, will be a compatible mapper- Returns:
- updated builder instance
-
addMapper
public <S,T> BUILDER addMapper(Mapper<S, T> mapper, Class<S> sourceType, Class<T> targetType, double weight, String... qualifiers) Add a mapper to the list of mapper with a custom priority.- Type Parameters:
S- type of sourceT- type of target- Parameters:
mapper- the mapper to map source instances to target instancessourceType- class of the source instancetargetType- class of the target instanceweight- weight of the mapperqualifiers- supported qualifiers of this mapper (if none provided, will return a compatible response)- Returns:
- updated builder instance
-
addMapper
public <S,T> BUILDER addMapper(Mapper<S, T> mapper, GenericType<S> sourceType, GenericType<T> targetType, double weight, String... qualifiers) Add a mapper to the list of mapper with custom priority.- Type Parameters:
S- type of sourceT- type of target- Parameters:
mapper- the mapper to map source instances to target instancessourceType- generic type of the source instancetargetType- generic type of the target instanceweight- weight of the mapperqualifiers- qualifiers of this mapper, if empty, will be a compatible mapper- Returns:
- updated builder instance
-
clearMapperProviders
Clear all mapperProviders.- Returns:
- updated builder instance
- See Also:
-
mapperProviders
Mapper providers allow for introduction of new mappers into the system. A mapper provider can be exposed either as aServiceRegistryservice, or aServiceLoader, but never both.Mapper providers are ordered by their
Weight.- Parameters:
mapperProviders- a list of configured mapper providers- Returns:
- updated builder instance
- See Also:
-
addMapperProviders
Mapper providers allow for introduction of new mappers into the system. A mapper provider can be exposed either as aServiceRegistryservice, or aServiceLoader, but never both.Mapper providers are ordered by their
Weight.- Parameters:
mapperProviders- a list of configured mapper providers- Returns:
- updated builder instance
- See Also:
-
addMapperProvider
Mapper providers allow for introduction of new mappers into the system. A mapper provider can be exposed either as aServiceRegistryservice, or aServiceLoader, but never both.Mapper providers are ordered by their
Weight.- Parameters:
mapperProvider- add single a list of configured mapper providers- Returns:
- updated builder instance
- See Also:
-
clearMappers
Clear all mappers.- Returns:
- updated builder instance
- See Also:
-
mappers
Mappers discovered throughServiceRegistry, or explicitly created that implement bothMapper.sourceType()andMapper.targetType()methods.Mappers are ordered by
Weighttogether withMappersConfig.mapperProviders()to create a single list.- Parameters:
mappers- list of mappers- Returns:
- updated builder instance
- See Also:
-
addMappers
Mappers discovered throughServiceRegistry, or explicitly created that implement bothMapper.sourceType()andMapper.targetType()methods.Mappers are ordered by
Weighttogether withMappersConfig.mapperProviders()to create a single list.- Parameters:
mappers- list of mappers- Returns:
- updated builder instance
- See Also:
-
addMapper
Mappers discovered throughServiceRegistry, or explicitly created that implement bothMapper.sourceType()andMapper.targetType()methods.Mappers are ordered by
Weighttogether withMappersConfig.mapperProviders()to create a single list.- Parameters:
mapper- add single list of mappers- Returns:
- updated builder instance
- See Also:
-
useBuiltInMappers
Whether to use built-in mappers. Defaults totrue.- Parameters:
useBuiltInMappers- whether to use built in mappers (such as String to Integer)- Returns:
- updated builder instance
- See Also:
-
mapperProvidersDiscoverServices
Service discovery flag formapperProviders(). If set totrue, services will be discovered from Java service loader, or Helidon ServiceRegistry.- Parameters:
mapperProvidersDiscoverServices- whether to enable automatic service discovery- Returns:
- updated builder instance
- See Also:
-
mappersDiscoverServices
Service discovery flag formappers(). If set totrue, services will be discovered from Java service loader, or Helidon ServiceRegistry.- Parameters:
mappersDiscoverServices- whether to enable automatic service discovery- Returns:
- updated builder instance
- See Also:
-
serviceRegistry
Service registry used to discover providers and services. Provide an explicit registry instance to use.If not configured, the
GlobalServiceRegistrywould be used to discover services.- Parameters:
serviceRegistry- service registry to use- Returns:
- updated builder instance
- See Also:
-
mapperProviders
Mapper providers allow for introduction of new mappers into the system. A mapper provider can be exposed either as aServiceRegistryservice, or aServiceLoader, but never both.Mapper providers are ordered by their
Weight.- Returns:
- a list of configured mapper providers
-
mappers
Mappers discovered throughServiceRegistry, or explicitly created that implement bothMapper.sourceType()andMapper.targetType()methods.Mappers are ordered by
Weighttogether withMappersConfig.mapperProviders()to create a single list.- Returns:
- list of mappers
-
useBuiltInMappers
public boolean useBuiltInMappers()Whether to use built-in mappers. Defaults totrue.- Returns:
- whether to use built in mappers (such as String to Integer)
-
mapperProvidersDiscoverServices
public boolean mapperProvidersDiscoverServices()Service discovery flag formapperProviders(). If set totrue, services will be discovered from Java service loader, or Helidon ServiceRegistry.- Returns:
- whether to enable automatic service discovery
-
mappersDiscoverServices
public boolean mappersDiscoverServices()Service discovery flag formappers(). If set totrue, services will be discovered from Java service loader, or Helidon ServiceRegistry.- Returns:
- whether to enable automatic service discovery
-
serviceRegistry
Service registry used to discover providers and services. Provide an explicit registry instance to use.If not configured, the
GlobalServiceRegistrywould be used to discover services.- Returns:
- service registry to use
-
toString
-
preBuildPrototype
protected void preBuildPrototype()Handles providers and decorators. -
validatePrototype
protected void validatePrototype()Validates required properties.
-