aboutsummaryrefslogtreecommitdiff
path: root/src/uk/org/ury/backend/server/ApiRequestHandler.java
diff options
context:
space:
mode:
authorMatt Windsor <mattwindsor@btinternet.com>2011-03-21 21:54:31 +0000
committerMatt Windsor <mattwindsor@btinternet.com>2011-03-21 21:54:31 +0000
commitdf7d7981b56a4560c95ea7e9b194080e93398ecf (patch)
treeb3ae4f02d23ae1f7f4951c776ee8d91b0047dd6f /src/uk/org/ury/backend/server/ApiRequestHandler.java
parent2d073129857a42ab4195cd433c8be152e357033f (diff)
GREAT PACKAGE RESHUFFLE: Everything is now organised into frontend, backend and common (to frontend and backend) packages. Things may have been broken. Doc refresh.
Diffstat (limited to 'src/uk/org/ury/backend/server/ApiRequestHandler.java')
-rw-r--r--src/uk/org/ury/backend/server/ApiRequestHandler.java42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/uk/org/ury/backend/server/ApiRequestHandler.java b/src/uk/org/ury/backend/server/ApiRequestHandler.java
new file mode 100644
index 0000000..fc867ce
--- /dev/null
+++ b/src/uk/org/ury/backend/server/ApiRequestHandler.java
@@ -0,0 +1,42 @@
+package uk.org.ury.backend.server;
+
+import java.util.Map;
+
+import uk.org.ury.backend.server.exceptions.HandleFailureException;
+
+
+/**
+ * Interface for classes that can handle requests addressed to their
+ * class name from the main server.
+ *
+ * For an example of how to implement a RequestHandler, see
+ * ServerRequestHandler.
+ *
+ * @author Matt Windsor
+ */
+public interface ApiRequestHandler
+{
+ /**
+ * Handle a server GET request (that is, a request for data
+ * output).
+ *
+ * @param parameters A key-value map of parameters supplied with the
+ * server request. Typically, the "function"
+ * parameter will detail the function that the
+ * request handler is expected to perform.
+ *
+ * @param server The server from which the request originated.
+ * This will be able to provide the handler with
+ * pooled resources, for example the database.
+ *
+ * @return A series of key-value pairs to pass back to
+ * the client.
+ *
+ * @throws HandleFailureException if the handler cannot
+ * handle the request.
+ */
+
+ public Map<String, Object>
+ handleGetRequest (Map<String, String> parameters, Server server)
+ throws HandleFailureException;
+}