Mapper:
@Mappings({
@Mapping(target="a", source="a", dependsOn="b"),
@Mapping(target="b", constant="I'm a constant")
})
MyClass map(TheirClass theirClass);
Resulting implementation (using version 1.0.0.CR1):
@Override
public MyClass map(TheirClass theirClass) {
if ( b == null ) {
return null;
}
MyClass myClass = new MyClass();
myClass.setA( b.getA() );
myClass.setB( "I'm a constant" );
return myClass;
}
dependsOn="b" should ensure that setB() is called before setA().
This seems to work in other cases I tried, but dependsOn="b" seems to be ignored when b is mapped to a constant value.