--- /dev/null
+package org.simantics.db.service;\r
+\r
+public interface ExternalOperation {\r
+ /**\r
+ * Undoes the operation. If operation is disposed, does nothing.\r
+ */\r
+ void undo();\r
+\r
+ /**\r
+ * Redoes the operation. If operation is disposed, does nothing.\r
+ */\r
+ void redo();\r
+\r
+ /**\r
+ * Tells if external operation is still valid. For example operations\r
+ * related to experiments are disposed when the experiment is disposed.\r
+ */\r
+ boolean isDisposed();\r
+}\r