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) Add a mapper to the list of mapper.<S,
T> MapperManager.Builder addMapper
(Mapper<S, T> mapper, GenericType<S> sourceType, GenericType<T> targetType, int priority) Add a mapper to the list of mapper with custom priority.<S,
T> MapperManager.Builder Add a mapper to the list of mapper.<S,
T> MapperManager.Builder Add a mapper to the list of mapper with a custom priority.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.
-
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 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
HelidonServiceLoader
and invokeMapperManager.create(io.helidon.common.serviceloader.HelidonServiceLoader)
.- 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) 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 instance- Returns:
- updated builder instance
-
addMapper
public <S,T> MapperManager.Builder addMapper(Mapper<S, T> mapper, Class<S> sourceType, Class<T> targetType, int priority) 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 instancepriority
- order of the mapper usage- Returns:
- updated builder instance
-
addMapper
public <S,T> MapperManager.Builder addMapper(Mapper<S, T> mapper, GenericType<S> sourceType, GenericType<T> targetType) 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 instance- Returns:
- updated builder instance
-
addMapper
public <S,T> MapperManager.Builder addMapper(Mapper<S, T> mapper, GenericType<S> sourceType, GenericType<T> targetType, int priority) 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 instancepriority
- order of the mapper usage- Returns:
- updated builder instance
-