Наблюдаемое Уведомление Изменение нескольких переменных - PullRequest
0 голосов
/ 03 февраля 2019

Как я могу уведомлять об обновлении нескольких переменных?

Есть ли какой-нибудь метод для обнаружения и разделенияObservers?

public class AnimalWeightObservable extends Observable {

    public long animalId;

    public long weigh;

    public long getAnimalId() {
        return animalId;
    }

    public AnimalWeightObservable setAnimalId(long animalId) {
        this.animalId = animalId;
        this.setChanged();
        this.notifyObservers(animalId);
        return this;
    }

    public long getWeigh() {
        return weigh;
    }

    public AnimalWeightObservable setWeigh(long weigh) {
        this.weigh = weigh;
        this.setChanged();
        this.notifyObservers(weigh);
        return this;
    }

}

Как можно обнаружить переменную ведьмы?

1 Ответ

0 голосов
/ 03 февраля 2019

Как насчет упаковки animalId и weight внутри другого типа: например, AnimalProperty

class AnimalProperty<T> {
    String propertyName;
    T property;

    AnimalProperty(String name, T property) {
        this.propertyName = name;
        this.property = property;
    }
}

, чтобы ваш код выглядел следующим образом:

public class AnimalWeightObservable extends Observable {

    public AnimalProperty animalId;

    public AnimalProperty weigh;

    //...
    //...

    public AnimalWeightObservable setWeigh(AnimalProperty weigh) {
        this.weigh = weigh;
        this.setChanged();
        this.notifyObservers(weigh);
        return this;
    }
}

, затем вObserver метод update(...) переключает propertyName, чтобы узнать, какое свойство обновлено

...