2011-02-03 6 views
5

Czy ktoś wie o istniejącej obsłudze modyfikacji poszczególnych właściwości niezmiennych obiektów przechowywanych w obiekcie zgodnym z JavaBeans?Istniejące wsparcie dla jawnej zmiany niezmiennych właściwości podrzędnych

Dla trywialny przykład:

Dla danej klasy wartości niezmiennej i przedmiotu fasoli (nie martwi słuchaczy do tego):

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; 
    } 
} 

to już możliwe, aby zobaczyć nieruchomości jako bean.value.value.

Szukam, czy istnieje sposób na powiedzenie bean.value.value = 3 i zasadniczo mają połączenie równoważne bean.setValue(bean.getValue().withValue(3));.

Należy zauważyć, że obiekt wartości rzeczywistej jest znacznie bardziej skomplikowany.

Dzięki!

Odpowiedz

1

Chciałbym spróbować utworzyć klasę BeanInfo dla klasy komponentu bean, która określa metodę mutatora właściwości za pomocą metody setWriteMethod. Ta metoda zapisu może przyjąć prymitywną wartość int i utworzyć z niej obiekt wartości niezmiennej i przypisać ją do pola właściwości.

Powiązane problemy