+package org.simantics.db.request;\r
+\r
+import org.simantics.db.AsyncRequestProcessor;\r
+import org.simantics.db.ReadGraph;\r
+import org.simantics.db.RequestProcessor;\r
+import org.simantics.db.Session;\r
+import org.simantics.db.exception.DatabaseException;\r
+import org.simantics.db.procedure.Procedure;\r
+\r
+/**\r
+ * \r
+ * An interface representing a modification into the semantic database with a result value.\r
+ * <ul>\r
+ * <li>{@link WriteRequest} for writing with no result value\r
+ * <li>{@link WriteOnlyRequest} for writing in write only mode\r
+ * <li>{@link DelayedWriteRequest} for writing in delayed write mode\r
+ * </ul>\r
+ * <p>\r
+ * \r
+ * The client is not expected to implement this class but rather to extend one of the standard implementations.\r
+ * \r
+ * @version 1.5\r
+ * @author Antti Villberg\r
+ * @see ReadInterface\r
+ * @see RequestProcessor\r
+ * @see ReadGraph\r
+ * @see Session\r
+ */\r
+\r
+public interface WriteInterface<Result> {\r
+\r
+ Result request(RequestProcessor processor) throws DatabaseException;\r
+ void request(AsyncRequestProcessor processor, Procedure<Result> procedure);\r
+ \r
+}\r