Massive package refactoring
[lgpl/argeo-commons.git] / org.argeo.api.cms / src / org / argeo / api / cms / transaction / WorkingCopy.java
diff --git a/org.argeo.api.cms/src/org/argeo/api/cms/transaction/WorkingCopy.java b/org.argeo.api.cms/src/org/argeo/api/cms/transaction/WorkingCopy.java
new file mode 100644 (file)
index 0000000..c79423c
--- /dev/null
@@ -0,0 +1,18 @@
+package org.argeo.api.cms.transaction;
+
+import java.util.Map;
+
+public interface WorkingCopy<DATA, ATTR, ID> {
+       void startEditing(DATA user);
+
+       boolean noModifications();
+
+       void cleanUp();
+
+       Map<ID, DATA> getNewData();
+
+       Map<ID, DATA> getDeletedData();
+
+       Map<ID, ATTR> getModifiedData();
+
+}