package jetbrains.mps.refactoring.participant; /*Generated by MPS */ import org.apache.log4j.Logger; import org.apache.log4j.LogManager; import java.util.List; import jetbrains.mps.internal.collections.runtime.ListSequence; import java.util.ArrayList; import java.util.Map; import jetbrains.mps.internal.collections.runtime.MapSequence; import java.util.HashMap; import org.apache.log4j.Level; public class RefactoringSessionImpl implements RefactoringSession { private static final Logger LOG = LogManager.getLogger(RefactoringSessionImpl.class); private List<Runnable> myChanges = ListSequence.fromList(new ArrayList<Runnable>()); private Map<String, Object> myObjects = MapSequence.fromMap(new HashMap<String, Object>()); public void putObject(String id, Object object) { MapSequence.fromMap(myObjects).put(id, object); } public Object getObject(String id) { return MapSequence.fromMap(myObjects).get(id); } public void registerChange(Runnable change) { ListSequence.fromList(myChanges).addElement(change); } public void performAllRegistered() { for (Runnable change : ListSequence.fromList(myChanges)) { try { change.run(); } catch (Throwable e) { if (LOG.isEnabledFor(Level.ERROR)) { LOG.error("Error executing change", e); } } } } }