package VASSAL.tools;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import javax.swing.Action;
public class ActionManager {
private final Map<Object,Action> map = new HashMap<Object,Action>();
private static final ActionManager instance = new ActionManager();
private ActionManager() { }
public static ActionManager getInstance() {
return instance;
}
public Set<?> getActionIds() {
return map.keySet();
}
public Action getAction(Object id) {
return map.get(id);
}
public Action addAction(Action a) {
return addAction(a.getValue(Action.ACTION_COMMAND_KEY), a);
}
public Action addAction(Object id, Action a) {
return map.put(id, a);
}
public Action removeAction(Object id) {
return map.remove(id);
}
public boolean isEnabled(Object id) {
final Action a = map.get(id);
return a != null && a.isEnabled();
}
public void setEnabled(Object id, boolean enabled) {
final Action a = map.get(id);
if (a != null) a.setEnabled(enabled);
}
}