package nl.fontys.sofa.limo.api.service.distribution;
import nl.fontys.sofa.limo.domain.component.event.distribution.Distribution;
/**
* Interface for the distribution type factory.
*
* @author Dominik Kaisers {@literal <d.kaisers@student.fontys.nl>}
*/
public interface DistributionFactory {
/**
* Get the possible distribution types by their names.
* @return Names of possible distribution types.
*/
String[] getDistributionTypes();
/**
* Get the name of the distribution type.
* @param type Type of distribution to get name for.
* @return Name of given distribution type.
*/
String getNameForDistributionType(Class<?> type);
/**
* Creates a new distribution type object for the given name.
* @param name Name of distribution type to create.
* @return
*/
Distribution getDistributionTypeByName(String name);
}