package com.hphoto.web; import java.io.IOException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public abstract class Restable extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet { protected abstract void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException; protected abstract void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException; protected abstract void doPut(HttpServletRequest request, HttpServletResponse response) throws IOException; protected abstract void doDelete(HttpServletRequest request, HttpServletResponse response) throws IOException; /* * @param request * @return request pathinfo split on the '/' ignoring the first '/' so first * element in pathSegment is not the empty string. */ private String [] getPathSegments(final HttpServletRequest request) { return request.getPathInfo().substring(1).split("/"); } /* * If we can't do the specified Accepts header type. * @param response * @throws IOException */ private void doNotAcceptable(final HttpServletResponse response) throws IOException { response.sendError(HttpServletResponse.SC_NOT_ACCEPTABLE); } /* * Resource not found. * @param response * @throws IOException */ private void doNotFound(final HttpServletResponse response) throws IOException { response.sendError(HttpServletResponse.SC_NOT_FOUND); } /* * Resource not found. * @param response * @param msg * @throws IOException */ private void doNotFound(final HttpServletResponse response, final String msg) throws IOException { response.sendError(HttpServletResponse.SC_NOT_FOUND, msg); } /* * Unimplemented method. * @param response * @param message to send * @throws IOException */ private void doMethodNotAllowed(final HttpServletResponse response, final String message) throws IOException { response.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED, message); } }