Newer
Older
ultramine_private_regions / src / main / java / org / ultramine / regions / RegionRegistry.java
@vlad20012 vlad20012 on 29 Mar 2016 734 bytes Initial commit
package org.ultramine.regions;

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;

public class RegionRegistry
{
	private static Map<Class<? extends IRegion>, IRegionProvider> map = new HashMap<Class<? extends IRegion>, IRegionProvider>();

	public static void registerProvider(Class<? extends IRegion> rclass, IRegionProvider prov)
	{
		if(map.containsKey(rclass))
			throw new IllegalStateException("Region provider for class "+rclass.getName()+" is already registered");
		map.put(rclass, prov);
	}

	public static IRegionProvider getProviderFor(Class<? extends IRegion> rclass)
	{
		return map.get(rclass);
	}

	public static Collection<IRegionProvider> getAllProviders()
	{
		return map.values();
	}
}