I've found the following approach in the StocksMonitor application at Java Practises. This is the update method of the Main view in an mvc context:
public void update(Observable aObservable, Object aData) {
fLogger.fine("Notify being broadcast...");
if (aObservable == fCurrentPortfolio) {
fLogger.fine("Notified by Current Portfolio...");
synchTitleBarWithCurrentPortfolio();
}
else if (aObservable == fGeneralLookPrefs) {
fLogger.fine("Notified by General Look...");
synchGuiWithGeneralLookPrefs();
}
}
The references are instances of different models which are used to selectively update corresponding views. This approach respects the composite pattern and allows case-by-case processing according to the parameter instance. Of course, this relies on only one instance of a model being used at runtime.