-package org.simantics.document.server.handler;\r
-\r
-public abstract class AbstractResponseHandler extends AbstractEventHandler {\r
-\r
- private String expression;\r
- \r
- public AbstractResponseHandler(String expression) {\r
- this.expression = expression;\r
- }\r
-\r
- @Override\r
- public int hashCode() {\r
- final int prime = 31;\r
- int result = 1;\r
- result = prime * result + ((expression == null) ? 0 : expression.hashCode());\r
- return result;\r
- }\r
-\r
- @Override\r
- public boolean equals(Object obj) {\r
- if (this == obj)\r
- return true;\r
- if (obj == null)\r
- return false;\r
- if (getClass() != obj.getClass())\r
- return false;\r
- AbstractResponseHandler other = (AbstractResponseHandler) obj;\r
- if (expression == null) {\r
- if (other.expression != null)\r
- return false;\r
- } else if (!expression.equals(other.expression))\r
- return false;\r
- return true;\r
- }\r
- \r
+package org.simantics.document.server.handler;
+
+import org.simantics.document.server.io.CommandContext;
+import org.simantics.document.server.io.CommandResult;
+import org.simantics.scl.runtime.function.Function1;
+
+public abstract class AbstractResponseHandler extends AbstractEventHandler {
+
+ private Function1<CommandContext, CommandResult> fn;
+
+ public AbstractResponseHandler(Function1<CommandContext, CommandResult> fn) {
+ this.fn = fn;
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((fn == null) ? 0 : fn.hashCode());
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj)
+ return true;
+ if (obj == null)
+ return false;
+ if (getClass() != obj.getClass())
+ return false;
+ AbstractResponseHandler other = (AbstractResponseHandler) obj;
+ if (fn == null) {
+ if (other.fn != null)
+ return false;
+ } else if (!fn.equals(other.fn))
+ return false;
+ return true;
+ }
+
}
\ No newline at end of file