package io.vivarium.serialization;
import java.util.HashMap;
import java.util.Map;
public class ClassRegistry
{
private static ClassRegistry _instance = new ClassRegistry();
private Map<String, Class<? extends VivariumObject>> _map = new HashMap<>();
public static ClassRegistry getInstance()
{
return _instance;
};
private ClassRegistry()
{
};
public void register(Class<? extends VivariumObject> clazz)
{
_map.put(clazz.getSimpleName(), clazz);
}
public Class<? extends VivariumObject> getClassNamed(String name)
{
if (_map.containsKey(name))
{
return _map.get(name);
}
else
{
throw new IllegalStateException("Class " + name + " has not been registered in the class registry");
}
}
}