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 newMapperProviderto the list of providers loaded from system service loader.addMapperProvider(MapperProvider provider, int priority) Add a newMapperProviderto 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 useServiceLoaderto discover mappers, defaults totrue.useBuiltIn(boolean useBuiltIn) Whether to use built-in mappers.
-
Method Details
-
build
Description copied from interface:BuilderBuild the instance from this builder.- Specified by:
buildin interfaceBuilder<MapperManager.Builder,MapperManager> - Returns:
- instance of the built type
-
addMapperProvider
Add a newMapperProviderto 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 newMapperProviderto the list of providers loaded from system service loader with a custom priority.- Parameters:
provider- a mapper provider instancepriority- priority of the provider (seeHelidonServiceLoaderdocumentation 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 useServiceLoaderto discover mappers, defaults totrue.- Parameters:
discoverServices- whether to discover services- Returns:
- updated builder
-