package io.dropwizard.jersey.sessions; import javax.servlet.http.HttpSession; import java.util.Optional; public class Flash<T> { private static final String ATTRIBUTE = "flash"; private final HttpSession session; private final T value; @SuppressWarnings("unchecked") Flash(HttpSession session) { this.session = session; this.value = (T) session.getAttribute(ATTRIBUTE); if (this.value != null) { session.removeAttribute(ATTRIBUTE); } } public Optional<T> get() { return Optional.ofNullable(value); } public void set(T value) { session.setAttribute(ATTRIBUTE, value); } }