package org.freeplane.core.ui.ribbon; import java.util.HashMap; import java.util.Map; import org.freeplane.features.mode.Controller; import org.freeplane.features.ui.CloseAction; import org.freeplane.features.url.mindmapmode.OpenAction; public class CurrentState { private Map<Class<? extends Object>, Object> map = new HashMap<Class<? extends Object>, Object>(); public void set(Class<? extends Object> key, Object value) { map.put(key, value); } @SuppressWarnings("unchecked") public <T extends Object> T get(Class<T> key) { return (T) map.get(key); } public boolean contains(Class<? extends Object> key) { return (get(key) != null); } public boolean isNodeChangeEvent() { return map.get(OpenAction.class) == null && map.get(CloseAction.class) == null && Controller.getCurrentController().getMapViewManager().getMaps().size() >= 1; } public boolean allMapsClosed() { return map.get(CloseAction.class) != null && Controller.getCurrentController().getMapViewManager().getMaps().size() <= 1; } }