All Downloads are FREE. Search and download functionalities are using the official Maven repository.

nablarch.common.web.session.HttpSessionManagedExpiration Maven / Gradle / Ivy

The newest version!
package nablarch.common.web.session;

import nablarch.fw.ExecutionContext;
import nablarch.fw.web.servlet.ServletExecutionContext;

/**
 * HttpSessionを使用した{@link Expiration}実装クラス。
 */
public class HttpSessionManagedExpiration implements Expiration {

    /** セッションの有効期限を格納するHttpSessionの名前 */
    private static final String EXPIRATION_DATE_KEY = ExecutionContext.FW_PREFIX + "sessionStore_expiration_date";

    @Override
    public boolean isExpired(String sessionId, long currentDateTime, ExecutionContext context) {
        Long expiration = context.getSessionScopedVar(EXPIRATION_DATE_KEY);
        if (expiration == null) {
            return true;
        }
        return expiration < currentDateTime;
    }

    @Override
    public void saveExpirationDateTime(String sessionId, long expirationDateTime, ExecutionContext context) {
        context.setSessionScopedVar(EXPIRATION_DATE_KEY, expirationDateTime);
    }

    @Override
    public boolean isDeterminable(String sessionId, ExecutionContext context) {
        return ((ServletExecutionContext) context).getNativeHttpSession(false) != null;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy