2011-02-03 7 views
5

Qualcuno sa di qualsiasi supporto esistente per la modifica di singole proprietà di oggetti immutabili archiviati in un oggetto compatibile con JavaBean?Supporto Javabean esistente per la modifica di sottoproprietà immutabili

Per un esempio banale:

per la data classe di valore immutabile e oggetto di fagioli (non sono preoccupato per gli ascoltatori per questo):

public class ValueObject { 
    private final int value; 

    public ValueObject(int value) { 
     this.value = value; 
    } 

    public ValueObject withValue(int newValue) { 
     return new ValueObject(value); 
    } 
} 

public class Bean { 

    private ValueObject value; 

    public ValueObject getValue() { 
     return value; 
    } 

    public ValueObject setValue(ValueObject value) { 
     this.value = value; 
    } 
} 

E 'già possibile visualizzare la proprietà come bean.value.value.

Sto cercando di vedere se c'è un modo esistente per dire bean.value.value = 3 e in pratica avere una chiamata equivalente a bean.setValue(bean.getValue().withValue(3));.

Si noti che l'oggetto valore effettivo è notevolmente più complicato.

Grazie!

risposta

1

Vorrei provare a creare una classe BeanInfo per la classe bean che specifica il metodo del mutatore di proprietà utilizzando setWriteMethod. Questo metodo di scrittura può assumere il valore int primitivo e creare l'oggetto valore immutabile da esso e assegnarlo al campo proprietà.

Problemi correlati