package sk.stuba.fiit.perconik.core.preferences; import java.util.Set; import sk.stuba.fiit.perconik.core.Listener; import sk.stuba.fiit.perconik.core.persistence.Registrations; import sk.stuba.fiit.perconik.core.services.listeners.ListenerClassesSupplier; /** * A class that supplies classes of currently registered * listeners based on {@link ListenerPreferences}. * * @author Pavol Zbell * @since 1.0 */ public final class RegisteredListenersSupplier implements ListenerClassesSupplier { /** * The constructor. */ public RegisteredListenersSupplier() {} /** * Gets classes of registered listeners according to the current * state of <i>instance</i> scope of {@code ListenerPreferences}. * @return classes of registered listeners */ public Set<Class<? extends Listener>> get() { ListenerPreferences preferences = ListenerPreferences.getShared(); return Registrations.toListenerClasses(Registrations.marked(preferences.getListenerPersistenceData())); } }