@Override public void removeItemChangeListener(ItemChangeListener<T> listener) { getEventRouter().removeListener(ItemChangeListener.class, listener); }
@Override public void addStateChangeListener(StateChangeListener<T> listener) { getEventRouter().addListener(StateChangeListener.class, listener); }
@Override public void removeStateChangeListener(StateChangeListener<T> listener) { getEventRouter().removeListener(StateChangeListener.class, listener); }
@Override public void addItemChangeListener(ItemChangeListener<T> listener) { getEventRouter().addListener(ItemChangeListener.class, listener); }
@Override public void addItemPropertyChangeListener(ItemPropertyChangeListener<T> listener) { getEventRouter().addListener(ItemPropertyChangeListener.class, listener); }
@Override public void removeItemPropertyChangeListener(ItemPropertyChangeListener<T> listener) { getEventRouter().removeListener(ItemPropertyChangeListener.class, listener); }
protected void fireItemChanged(T prevItem) { ItemChangeEvent<T> itemChangeEvent = new ItemChangeEvent<>(this, prevItem, getItem()); //noinspection unchecked getEventRouter().fireEvent(ItemChangeListener.class, ItemChangeListener::itemChanged, itemChangeEvent); }
@SuppressWarnings("unchecked") protected void fireStateChanged(State prevStatus) { StateChangeEvent<T> stateChangeEvent = new StateChangeEvent<>(this, prevStatus, getState()); getEventRouter().fireEvent(StateChangeListener.class, StateChangeListener::stateChanged, stateChangeEvent); }