--- /dev/null
+package org.simantics.spreadsheet;
+
+import java.util.List;
+
+public interface Transaction<O> {
+
+ void setContext(Object context);
+
+ Object getContext();
+
+ void add(O operation);
+
+ /*
+ * Applies the operations collected with this transaction
+ *
+ */
+ void commit();
+
+ boolean isOperationMode();
+
+ List<Object> needSynchronization();
+
+ void needSynchronization(Object synchronizable);
+}
\ No newline at end of file