/** * Notify registered {@link PropertyChangeHandlers} of a * {@link PropertyChangeEvent}. Will only dispatch events that represent a * change. If oldValue and newValue are equal, the event will be ignored. * * @param event * {@link the PropertyChangeEvent} to provide to handlers. */ @SuppressWarnings({ "rawtypes", "unchecked" }) public void notifyHandlers(PropertyChangeEvent<?> event) { if (!acceptEvent(event)) { return; } final Collection<PropertyChangeHandler<?>> specHandlers = specificPropertyHandlers.get(event.getPropertyName()); for (PropertyChangeHandler handler : specHandlers.toArray(new PropertyChangeHandler<?>[specHandlers.size()])) { handler.onPropertyChange(event); } for (PropertyChangeHandler handler : handlers.toArray(new PropertyChangeHandler<?>[handlers.size()])) { handler.onPropertyChange(event); } }
/** * Notify registered {@link PropertyChangeHandlers} of a * {@link PropertyChangeEvent}. Will only dispatch events that represent a * change. If oldValue and newValue are equal, the event will be ignored. * * @param event * {@link the PropertyChangeEvent} to provide to handlers. */ @SuppressWarnings({ "rawtypes", "unchecked" }) public void notifyHandlers(PropertyChangeEvent<?> event) { if (!acceptEvent(event)) { return; } final Collection<PropertyChangeHandler<?>> specHandlers = specificPropertyHandlers.get(event.getPropertyName()); for (PropertyChangeHandler handler : specHandlers.toArray(new PropertyChangeHandler<?>[specHandlers.size()])) { handler.onPropertyChange(event); } for (PropertyChangeHandler handler : handlers.toArray(new PropertyChangeHandler<?>[handlers.size()])) { handler.onPropertyChange(event); } }