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...)withGenericTypes created for each parameters - If you call
map(Object, io.helidon.common.GenericType, io.helidon.common.GenericType, String...)and no mapper is found for theGenericTypepair, 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
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionstatic MapperManager.Builderbuilder()Create a fluent API builder to create a customized mapper manager.static MapperManagercreate()Create a mapper manager using only Java Service loader loadedMapperProviders.static MapperManagerglobal()Get an instance of the configured global manager.static voidglobal(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
-