Class MapperManager.Builder

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 Details

    • build

      public MapperManager build()
      Description copied from interface: Builder
      Build the instance from this builder.
      Specified by:
      build in interface Builder<MapperManager.Builder,MapperManager>
      Returns:
      instance of the built type
    • addMapperProvider

      public MapperManager.Builder addMapperProvider(MapperProvider provider)
      Add a new MapperProvider 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 invoke MapperManager.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 new MapperProvider to the list of providers loaded from system service loader with a custom priority.
      Parameters:
      provider - a mapper provider instance
      priority - priority of the provider (see HelidonServiceLoader 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 source
      T - type of target
      Parameters:
      mapper - the mapper to map source instances to target instances
      sourceType - class of the source instance
      targetType - 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 source
      T - type of target
      Parameters:
      mapper - the mapper to map source instances to target instances
      sourceType - class of the source instance
      targetType - class of the target instance
      priority - 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 source
      T - type of target
      Parameters:
      mapper - the mapper to map source instances to target instances
      sourceType - generic type of the source instance
      targetType - 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 source
      T - type of target
      Parameters:
      mapper - the mapper to map source instances to target instances
      sourceType - generic type of the source instance
      targetType - generic type of the target instance
      priority - order of the mapper usage
      Returns:
      updated builder instance