Class PropertyMapper


  • public final class PropertyMapper
    extends Object
    Utility that can be used to map values from a supplied source to a destination. Primarily intended to be help when mapping from @ConfigurationProperties to third-party classes.

    Can filter values based on predicates and adapt values if needed. For example:

     PropertyMapper map = PropertyMapper.get();
     map.from(source::getName)
       .to(destination::setName);
     map.from(source::getTimeout)
       .whenNonNull()
       .asInt(Duration::getSeconds)
       .to(destination::setTimeoutSecs);
     map.from(source::isEnabled)
       .whenFalse().
       .toCall(destination::disable);
     

    Mappings can ultimately be applied to a setter, trigger a method call or create a new instance.

    Since:
    2.0.0