package com.commercetools.sunrise.common.sessions;

import play.mvc.Http;

import javax.annotation.Nullable;

public interface SessionHandler<T> {

    void overwriteInSession(final Http.Session session, @Nullable final T value);

    void removeFromSession(final Http.Session session);
}

@@ -107,128 +107,822 @@
 e;%0A%0A
-public interface SessionHandler%3CT%3E %7B%0A%0A    void overwriteInSession(final Http.Session session, @Nullable final T value);%0A
+/**%0A * Enables to manage the data kept in session of a particular object.%0A * For example, the session manager of the cart might save the ID, an instance of the mini cart and other related%0A * information in session, taking care of keeping it up to date and remove it when it's needed.%0A * @param %3CT%3E Class of the object in session%0A */%0Apublic interface SessionHandler%3CT%3E %7B%0A%0A    /**%0A     * Replaces all the information related to the object in session with the given value.%0A     * @param session the HTTP session to be updated%0A     * @param value the instance of the object used to update the session%0A     */%0A    void overwriteInSession(final Http.Session session, @Nullable final T value);%0A%0A    /**%0A     * Removes all the information related to this class.%0A     * @param session the HTTP session to be updated%0A     */
 %0A   

Add documentation