@Override public void invalidate() { session().invalidate(); }
private SerializableProxy() { this.session = obtainHttpSession(); }
@Override public boolean isNew() { return session().isNew(); }
@Override public void removeAttribute(String name) { session().removeAttribute(name); }
@Override public void setAttribute(String name, Object value) { session().setAttribute(name, value); }
@Override public Object getValue(String name) { return session().getValue(name); }
@Override public long getLastAccessedTime() { return session().getLastAccessedTime(); }
@Override public String getId() { return session().getId(); }
@Override public long getCreationTime() { return session().getCreationTime(); }
@Override public void putValue(String name, Object value) { session().putValue(name, value); }
@Override public Object getAttribute(String name) { return session().getAttribute(name); }
@Override public int getMaxInactiveInterval() { return session().getMaxInactiveInterval(); }
@Override public void setMaxInactiveInterval(int interval) { session().setMaxInactiveInterval(interval); }
@Override public ServletContext getServletContext() { return session().getServletContext(); }
@Override public HttpSessionContext getSessionContext() { return session().getSessionContext(); }
@Override protected HttpSession newInstance(InjectionPoint ip, CreationalContext<HttpSession> creationalContext) { return new SerializableProxy(); }
@Override public void removeValue(String name) { session().removeValue(name); }
@Override public String[] getValueNames() { return session().getValueNames(); }
@Override public Enumeration<String> getAttributeNames() { return session().getAttributeNames(); }
private HttpSession session() { if (session == null) { synchronized (this) { if (session == null) { session = obtainHttpSession(); } } } return session; }