public interface MapperManager
Mapper manager of all configured mappers.
To map a source to target, you can use either of the map
methods defined in this interface,
as they make sure that the mapping exists in either space.
- If you call
map(Object, Class, Class, String...)
and no mapper is found for the class pair, the implementation calls themap(Object, io.helidon.common.GenericType, io.helidon.common.GenericType, String...)
withGenericType
s created for each parameters - If you call
map(Object, io.helidon.common.GenericType, io.helidon.common.GenericType, String...)
and no mapper is found for theGenericType
pair, an attempt is to locate a mapper for the underlying class *IF* the generic type represents a simple class (e.g. not a generic type declaration)
-
Nested Class Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic MapperManager.Builder
builder()
Create a fluent API builder to create a customized mapper manager.static MapperManager
create()
Create a mapper manager using only Java Service loader loadedMapperProviders
.static MapperManager
global()
Get an instance of the configured global manager.static void
global
(MapperManager manager) Configure a new global mapper manager.<SOURCE,
TARGET>
TARGETmap
(SOURCE source, GenericType<SOURCE> sourceType, GenericType<TARGET> targetType, String... qualifiers) Map from source to target.<SOURCE,
TARGET>
TARGETMap from source to target.mapper
(GenericType<SOURCE> sourceType, GenericType<TARGET> targetType, String... qualifiers) Obtain a mapper for the provided types and qualifiers.
-
Method Details
-
global
Get an instance of the configured global manager. If none is explicitly set, an instance is created using discovered and built-in mappers.- Returns:
- global mapper manager
-
global
Configure a new global mapper manager.- Parameters:
manager
- mapper manager to use
-
builder
Create a fluent API builder to create a customized mapper manager.- Returns:
- a new builder
-
create
Create a mapper manager using only Java Service loader loadedMapperProviders
.- Returns:
- create a new mapper manager from service loader
-
map
<SOURCE,TARGET> TARGET map(SOURCE source, GenericType<SOURCE> sourceType, GenericType<TARGET> targetType, String... qualifiers) throws MapperException Map from source to target.- Type Parameters:
SOURCE
- type of the sourceTARGET
- type of the target- Parameters:
source
- object to mapsourceType
- type of the source object (to locate the mapper)targetType
- type of the target object (to locate the mapper)qualifiers
- qualifiers of the usage (such ashttp-headers, http
, most specific one first)- Returns:
- result of the mapping
- Throws:
MapperException
- in case the mapper was not found or failed
-
map
<SOURCE,TARGET> TARGET map(SOURCE source, Class<SOURCE> sourceType, Class<TARGET> targetType, String... qualifiers) throws MapperException Map from source to target.- Type Parameters:
SOURCE
- type of the sourceTARGET
- type of the target- Parameters:
source
- object to mapsourceType
- class of the source object (to locate the mapper)targetType
- class of the target object (to locate the mapper)qualifiers
- qualifiers of the usage (such ashttp-headers, http
, most specific one first)- Returns:
- result of the mapping
- Throws:
MapperException
- in case the mapper was not found or failed
-
mapper
<SOURCE,TARGET> Optional<Mapper<SOURCE,TARGET>> mapper(GenericType<SOURCE> sourceType, GenericType<TARGET> targetType, String... qualifiers) Obtain a mapper for the provided types and qualifiers.- Type Parameters:
SOURCE
- source typeTARGET
- target type- Parameters:
sourceType
- type to map fromtargetType
- type to map toqualifiers
- qualifiers of the mapper- Returns:
- mapper if found
-