package sk.stuba.fiit.perconik.core.preferences;
import com.google.common.collect.SetMultimap;
import sk.stuba.fiit.perconik.core.Listener;
import sk.stuba.fiit.perconik.core.persistence.Registrations;
import sk.stuba.fiit.perconik.core.services.resources.ResourceNamesSupplier;
/**
* A class that supplies classes of currently registered
* resources based on {@link ResourcePreferences}.
*
* @author Pavol Zbell
* @since 1.0
*/
public final class RegisteredResourcesSupplier implements ResourceNamesSupplier {
/**
* The constructor.
*/
public RegisteredResourcesSupplier() {}
/**
* Gets names of registered resources grouped under listener
* types according to the current state of <i>instance</i> scope
* of {@code ResourcePreferences}.
* @return names of registered resources grouped under listener types
*/
public SetMultimap<Class<? extends Listener>, String> get() {
ResourcePreferences preferences = ResourcePreferences.getShared();
return Registrations.toResourceNames(Registrations.marked(preferences.getResourcePersistenceData()));
}
}