Interface Mapper<SOURCE,TARGET>

Type Parameters:
SOURCE - type of the supported source
TARGET - type of the supported target
All Superinterfaces:
Function<SOURCE,TARGET>
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface Mapper<SOURCE,TARGET> extends Function<SOURCE,TARGET>
A generic and general approach to mapping two types. A mapper is unidirectional - from SOURCE to TARGET.
  • Method Details

    • map

      TARGET map(SOURCE source)
      Map an instance of source type to an instance of target type.
      Parameters:
      source - object to map
      Returns:
      result of the mapping
    • apply

      default TARGET apply(SOURCE source)
      Specified by:
      apply in interface Function<SOURCE,TARGET>
    • sourceType

      default GenericType<SOURCE> sourceType()
      Source type of the mapper. This does not need to be implemented when registered using MappersConfig.Builder addMapper methods.

      It MUST be implemented when implementing a service (i.e. Service.Singleton).

      Returns:
      type of the source this mapper support
    • targetType

      default GenericType<TARGET> targetType()
      Target type of the mapper. This does not need to be implemented when registered using MappersConfig.Builder addMapper methods.

      It MUST be implemented when implementing a service (i.e. Service.Singleton).

      Returns:
      type of the target this mapper support
    • qualifiers

      default Set<String> qualifiers()
      Qualifiers of the mapper. This is only used when the mapper is provided as ServiceRegistry service, otherwise qualifiers provided when registering this mapper are used.
      Returns:
      qualifiers of this mapper, defaults to empty set