package com.vitco.core.data.notification; import java.util.HashSet; /** * Notification Service, deals with and notifies listeners. */ public final class NotificationService implements NotificationServiceInterface { private final HashSet<DataChangeListener> listeners = new HashSet<DataChangeListener>(); // add a listener @Override public void add(DataChangeListener dcl) { listeners.add(dcl); } // remove a listener @Override public void remove(DataChangeListener dcl) { listeners.remove(dcl); } @Override public void onAnimationDataChanged() { for (DataChangeListener listener : listeners) { listener.onAnimationDataChanged(); } } @Override public void onAnimationSelectionChanged() { for (DataChangeListener listener : listeners) { listener.onAnimationSelectionChanged(); } } @Override public void onVoxelDataChanged() { for (DataChangeListener listener : listeners) { listener.onVoxelDataChanged(); } } @Override public void onVoxelHighlightingChanged() { for (DataChangeListener listener : listeners) { listener.onVoxelHighlightingChanged(); } } @Override public void onVoxelSelectionShiftChanged() { for (DataChangeListener listener : listeners) { listener.onVoxelSelectionShiftChanged(); } } @Override public void onTextureDataChanged() { for (DataChangeListener listener : listeners) { listener.onTextureDataChanged(); } } @Override public void onOutlineBoxesChanged() { for (DataChangeListener listener : listeners) { listener.onOutlineBoxesChanged(); } } @Override public void onSelectionRectChanged() { for (DataChangeListener listener : listeners) { listener.onSelectionRectChanged(); } } @Override public void onLayerStateChanged() { for (DataChangeListener listener : listeners) { listener.onLayerStateChanged(); } } @Override public void onFrozenUndo() { for (DataChangeListener listener : listeners) { listener.onFrozenUndo(); } } @Override public void onFrozenRedo() { for (DataChangeListener listener : listeners) { listener.onFrozenRedo(); } } @Override public void onFrozenAction() { for (DataChangeListener listener : listeners) { listener.onFrozenAction(); } } }