Package io.helidon.common.mapper
Class MapperManager.Builder
- java.lang.Object
-
- io.helidon.common.mapper.MapperManager.Builder
-
- All Implemented Interfaces:
Builder<MapperManager>
,Supplier<MapperManager>
- Enclosing interface:
- MapperManager
public static final class MapperManager.Builder extends Object implements Builder<MapperManager>
Fluent API builder forMapperManager
.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <S,T>
MapperManager.BuilderaddMapper(Mapper<S,T> mapper, GenericType<S> sourceType, GenericType<T> targetType)
Add a mapper to the list of mapper.<S,T>
MapperManager.BuilderaddMapper(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.BuilderaddMapper(Mapper<S,T> mapper, Class<S> sourceType, Class<T> targetType)
Add a mapper to the list of mapper.<S,T>
MapperManager.BuilderaddMapper(Mapper<S,T> mapper, Class<S> sourceType, Class<T> targetType, int priority)
Add a mapper to the list of mapper with a custom priority.MapperManager.Builder
addMapperProvider(MapperProvider provider)
Add a newMapperProvider
to the list of providers loaded from system service loader.MapperManager.Builder
addMapperProvider(MapperProvider provider, int priority)
Add a newMapperProvider
to the list of providers loaded from system service loader with a custom priority.MapperManager
build()
Build the instance from this builder.
-
-
-
Method Detail
-
build
public MapperManager build()
Description copied from interface:Builder
Build the instance from this builder.- Specified by:
build
in interfaceBuilder<MapperManager>
- Returns:
- instance of the built type
-
addMapperProvider
public MapperManager.Builder addMapperProvider(MapperProvider provider)
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
public MapperManager.Builder addMapperProvider(MapperProvider provider, int priority)
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:
addMapperProvider(io.helidon.common.mapper.spi.MapperProvider)
-
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 instance- 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 instance- Returns:
- updated builder instance
-
-