/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.core.servlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; /** * This class implements the accessor for servlet request. */ public final class ServletRequestAccessor { /** * Thread local. */ private final static ThreadLocal<HttpServletRequest> REQUEST = new ThreadLocal<HttpServletRequest>(); /** * Return the current servlet request. */ public static HttpServletRequest getRequest() { return REQUEST.get(); } /** * Set the current servlet request. */ public static void setRequest( HttpServletRequest request ) { REQUEST.set( request ); } /** * Return the current session. */ public static HttpSession getSession() { return doGetSession( true ); } public static HttpSession getSession( final boolean create ) { return doGetSession( create ); } private static HttpSession doGetSession( final boolean create ) { HttpServletRequest request = getRequest(); return request != null ? request.getSession( create ) : null; } }