java.lang.Object
io.helidon.common.mapper.MapperManager.Builder
- All Implemented Interfaces:
Builder<MapperManager.Builder,
,MapperManager> Supplier<MapperManager>
- Enclosing interface:
MapperManager
public static final class MapperManager.Builder
extends Object
implements Builder<MapperManager.Builder,MapperManager>
Fluent API builder for
MapperManager
.-
Method Summary
Modifier and TypeMethodDescription<S,
T> MapperManager.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> MapperManager.Builder addMapper
(Mapper<S, T> mapper, GenericType<S> sourceType, GenericType<T> targetType, String... qualifiers) Add a mapper to the list of mapper.<S,
T> MapperManager.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> MapperManager.Builder Add a mapper to the list of mapper.addMapperProvider
(MapperProvider provider) Add a newMapperProvider
to the list of providers loaded from system service loader.addMapperProvider
(MapperProvider provider, int priority) Add a newMapperProvider
to the list of providers loaded from system service loader with a custom priority.build()
Build the instance from this builder.discoverServices
(boolean discoverServices) Whether to useServiceLoader
to discover mappers, defaults totrue
.useBuiltIn
(boolean useBuiltIn) Whether to use built-in mappers.
-
Method Details
-
build
Description copied from interface:Builder
Build the instance from this builder.- Specified by:
build
in interfaceBuilder<MapperManager.Builder,
MapperManager> - Returns:
- instance of the built type
-
addMapperProvider
Add a newMapperProvider
to the list of providers loaded from system service loader.You can control whether discovered services are loaded through see
discoverServices(boolean)
- Parameters:
provider
- prioritized mapper provider to use- Returns:
- updated builder instance
-
addMapperProvider
Add a newMapperProvider
to the list of providers loaded from system service loader with a custom priority.- Parameters:
provider
- a mapper provider instancepriority
- priority of the provider (seeHelidonServiceLoader
documentation for details about priority handling)- Returns:
- updated builder instance
- See Also:
-
addMapper
public <S,T> MapperManager.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> MapperManager.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> MapperManager.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> MapperManager.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
-
useBuiltIn
Whether to use built-in mappers.- Parameters:
useBuiltIn
- whether to use built in mappers (such as String to Integer)- Returns:
- updated builder
-
discoverServices
Whether to useServiceLoader
to discover mappers, defaults totrue
.- Parameters:
discoverServices
- whether to discover services- Returns:
- updated builder
-