Ist man beispielsweise mittels
public void registerListeners()
{
listenTo(Turn.PROPERTY_TRUMP, turn);
listenTo(WizardGame.PROPERTY_CURRENT_TURN, turn.getWizardGame());
}
an verschiedenen Objekten und/oder Attributen als Listener angemeldet ist, kann man die einzelnen Events unterschiedlich verarbeiten. Dazu vergleicht man den konstanten Bezeichner für die Attribute (bspw. Turn.PROPERTY_TRUMP) mit dem entsprechenden Wert im PropertyChangeEvent (evt.getPropertyName()). Bsp:
public void propertyChange(PropertyChangeEvent evt)
{
if (WizardGame.PROPERTY_CURRENT_TURN.equals(evt.getPropertyName()))
{
...
} else if (Turn.PROPERTY_TRUMP.equals(evt.getPropertyName()))
{
...
}
}
Dieses Vorgehen ist in HA 6 an einigen Stellen hilfreich, um das gewünschte Verhalten eines Controllers zu erreichen.