package com.project.website.canvas.client;
import java.util.HashMap;
import com.project.website.canvas.client.canvastools.base.interfaces.CanvasTool;
import com.project.website.canvas.client.canvastools.base.interfaces.CanvasToolFactory;
import com.project.website.canvas.shared.data.ElementData;
public class ToolFactories {
private ToolFactories() {}
public final static ToolFactories INSTANCE = new ToolFactories();
HashMap<String, CanvasToolFactory<? extends CanvasTool<? extends ElementData>> > map = new HashMap<String, CanvasToolFactory<? extends CanvasTool<? extends ElementData>>>();
public void put(String factoryId, CanvasToolFactory<? extends CanvasTool<? extends ElementData>> factory)
{
if (this.map.containsKey(factoryId)) {
throw new RuntimeException("Factory already registered with id: " + factoryId);
}
this.map.put(factoryId, factory);
}
public CanvasToolFactory<? extends CanvasTool<? extends ElementData>> get(String factoryId)
{
return this.map.get(factoryId);
}
}