package org.rendersnake.ext.servlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.rendersnake.HtmlCanvas;
/**
* ServletUtils is a helper class for accessing specific state of a HtmlServletCanvas.
*
* @author ernestmicklei
*/
public class ServletUtils {
/**
* @param canvas
* @return
*/
public static HttpServletRequest requestFor(HtmlCanvas canvas){
if (canvas instanceof HtmlServletCanvas) {
return ((HtmlServletCanvas)canvas).request;
} else {
return null;
}
}
/**
* @param canvas
* @return
*/
public static HttpServletResponse responseFor(HtmlCanvas canvas){
if (canvas instanceof HtmlServletCanvas) {
return ((HtmlServletCanvas)canvas).response;
} else {
return null;
}
}
/**
* @param canvas
* @return
*/
public static HttpSession sessionFor(HtmlCanvas canvas){
if (canvas instanceof HtmlServletCanvas) {
HttpServletRequest request = ((HtmlServletCanvas)canvas).request;
HttpServletResponse response = ((HtmlServletCanvas)canvas).response;
// do not create a session if response is commited (would raise exception)
return request.getSession(!response.isCommitted());
} else {
return null;
}
}
/**
* @param canvas
* @return
*/
public static boolean hasAjaxRequest(HtmlCanvas canvas){
if (canvas instanceof HtmlServletCanvas) {
return ((HtmlServletCanvas)canvas).hasAjaxRequest();
} else {
return false; // we don't know actually
}
}
}