Dozer cartographie des propriétés booléennes

Il semble que les Bulldozers ne sera pas mapper une propriété Booléenne si l'accesseur de cette propriété est définie comme isProperty() plutôt que getProperty().

Suivantes groovy script illustre le problème:

import org.dozer.*

class ProductCommand {
    Boolean foo 
}

public class ProductDto  {

    private Boolean foo;        

    public Boolean isFoo() { this.foo }    
    public void setFoo(Boolean p0) { this.foo = p0 }           
}

def mapper =  new DozerBeanMapper()

dto = new ProductDto(foo: true)
assert dto.isFoo()

ProductCommand mappedCmd = mapper.map(dto, ProductCommand)
assert mappedCmd.foo

L'affirmation sur la dernière ligne échoue. Cependant, si je renomme ProductDto.isFoo() à ProductDto.getFoo() il passe.

Est-il un drapeau/option je peux le mettre dans le Bouteur de mappage de fichier qui vous permettra de charger à utiliser un is ou get accesseur pour les propriétés booléennes? Sinon, je pourrais ajouter une règle personnalisée pour chaque propriété booléenne, mais ce n'est pas très attrayant.

Bien que l'exemple ci-dessus est écrit en Groovy, je n'ai pas de raison de croire que le même comportement ne serait pas exposé par l'équivalent en code Java.

Ces Otd sont générés par JAXB (qui génère un "est" accesseur, plutôt qu'un "get" accesseur pour les booléens), donc je ne peux pas renommer les accesseurs. Je suis à l'aide de Bulldozers 5.3.2.

source d'informationauteur Dónal