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.
-
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 may add multiple instances of the same implementation class.
If the same provider implementation would be loaded by Java Service loader, the service loader instance is ignored. If you need to add a new implementation of the same type, please use the full features of the
HelidonServiceLoaderand invokeMapperManager.create(io.helidon.common.HelidonServiceLoader).- 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 mapper- Returns:
- updated builder instance
-