package ecologylab.serialization.simplstringformats;
import java.util.HashMap;
import java.util.Map;
import ecologylab.serialization.ISimplStringFormat;
import ecologylab.serialization.formatenums.Format;
import ecologylab.serialization.formatenums.StringFormat;
public class FormatRegistry {
private static Map<StringFormat, ISimplStringFormat> formats;
private static Map<Format, ISimplStringFormat> standardFormats;
// TODO: STructure this more like type registry / simpl type scope...
// TODO: Avoid use of enums for extensibility in the future. Possibly leverage multiscope idea (to be implemented)
static
{
formats = new HashMap<StringFormat, ISimplStringFormat>();
formats.put(StringFormat.XML, new XMLFormat());
formats.put(StringFormat.JSON, new JSONFormat());
standardFormats = new HashMap<Format, ISimplStringFormat>();
standardFormats.put(Format.XML, new XMLFormat());
standardFormats.put(Format.JSON, new JSONFormat());
}
public static ISimplStringFormat get(StringFormat sf)
{
return formats.get(sf);
}
public static ISimplStringFormat get(Format f)
{
return standardFormats.get(f);
}
}