1 package net.sf.mmapps.commons.util; 2 3 import javax.servlet.http.HttpServletRequest; 4 import javax.servlet.http.HttpSession; 5 6 public class SessionUtil { 7 8 /*** contains the session a object 9 * 10 * @param name Name of session attribute 11 * @param request Http request 12 * @return true when session contains attribute 13 */ 14 public static boolean contains(HttpServletRequest request, String name) { 15 if (request == null) { 16 throw new NullPointerException("Request is null. Where should the object come from?."); 17 } 18 if (name == null) { 19 throw new NullPointerException("Name is null. How did you want to check the object?."); 20 } 21 22 HttpSession session = request.getSession(false); 23 if (session != null) { 24 return session.getAttribute(name) != null; 25 } 26 return false; 27 } 28 29 /*** Get a object from the session 30 * 31 * @param name Name of session attribute 32 * @param request Http request 33 * @return Object from the session 34 */ 35 public static Object get(HttpServletRequest request, String name) { 36 if (request == null) { 37 throw new NullPointerException("Request is null. Where should the object come from?."); 38 } 39 if (name == null) { 40 throw new NullPointerException("Name is null. How did you want to get the object?."); 41 } 42 43 HttpSession session = request.getSession(false); 44 if (session == null) { 45 throw new NullPointerException("Session not initialised yet. Failed to get " + name); 46 } 47 48 Object o = session.getAttribute(name); 49 if (o == null) { 50 throw new NullPointerException(name + " has not been registered in session."); 51 } 52 return o; 53 } 54 55 /*** Set the object in the session 56 * 57 * @param name Name of session attribute 58 * @param request Http request 59 * @param o Object to add to the session 60 */ 61 public static void set(HttpServletRequest request, String name, Object o) { 62 if (request == null) { 63 throw new NullPointerException("Request is null. Where should the object go to?."); 64 } 65 if (name == null) { 66 throw new NullPointerException("Name is null. How did you want to get the object back?."); 67 } 68 if (o == null) { 69 throw new NullPointerException("Object is null. Why should it be added?."); 70 } 71 HttpSession session = request.getSession(true); 72 session.setAttribute(name, o); 73 } 74 75 /*** removes an object from the session 76 * 77 * @param name Name of session attribute 78 * @param request Http request 79 */ 80 public static void remove(HttpServletRequest request, String name) { 81 if (request == null) { 82 throw new NullPointerException("Request is null. Where should the object removed from?."); 83 } 84 if (name == null) { 85 throw new NullPointerException("Name is null. How did you want to remove the object?."); 86 } 87 88 HttpSession session = request.getSession(false); 89 if (session != null) { 90 session.removeAttribute(name); 91 } 92 } 93 94 /*** Clean the session 95 * 96 * @param request Http request 97 */ 98 public static void clean(HttpServletRequest request) { 99 if (request == null) { 100 throw new NullPointerException("Request is null. Impossible to clean the session!."); 101 } 102 103 HttpSession session = request.getSession(false); 104 if (session != null) { 105 session.invalidate(); 106 } 107 } 108 }