2009-03-05 9 views
1

BeanUtils copyProperties, en sortie de boîte, ne semble pas gérer la copie des propriétés d'objet booléen vers des propriétés booléennes primitives. J'ai pensé que je pouvais créer et enregistrer un convertisseur pour gérer cela, mais cela ne semblait pas fonctionner.Comment utiliser BeanUtils copyProperties pour copier des booléens vers booléens?

Alors, comment puis-je utiliser BeanUtils pour copier les propriétés de la classe Source à la classe destination où:

public class Destination { 

    private boolean property; 

    public boolean isProperty() { 
     return property; 
    } 

    public void setProperty(boolean property) { 
     this.property = property; 
    } 
} 


public class Source{ 

    private Boolean property; 

    public Boolean getProperty() { 
     return property; 
    } 

    public void setProperty(Boolean property) { 
     this.property = property; 
    } 
} 
+0

I suis coincé sur celui-ci aussi bien maintenant. Plz ajouter une réponse «transporteur» si vous étiez en mesure de le faire :) –

Répondre

0

Il est en fait vice-versa:

public static void main(String[] args) throws Exception { 
    Source d = new Source(); 
    d.setProperty(Boolean.TRUE); 
    BeanMap beanMap = new BeanMap(d); 

    Destination s = new Destination(); 
    BeanUtils.populate(s, beanMap); 
    System.out.println("s.getProperty()=" + s.isProperty()); 
} 
0
public class Destination { 
    private boolean property; 

    // code getProperty() instead 
    public boolean isProperty() { 
     return property; 
    } 

    public void setProperty(boolean property) { 
     this.property = property; 
    } 
} 
1
try creating both 
/*by default beanutils copyproperties looks for below method if you use either apache or spring flavour of beanutils. 
always prefer using apache 1.9.2 (fixed many bugs) but bit slow compared with spring beanutils.*/ 
public Boolean getProperty() { 
     return property; 
    } 
//which is used by some frameworks 
public Boolean isProperty() { 
     return property; 
    } 
+0

besoin d'utiliser le convertisseur lorsque nous utilisons des beanutils apache comme si nous avons ConvertUtils.register (new DateConverter (null), java.util.Date.class); – RamPrakash