org.webpieces.router.impl.ctx.SessionImpl Maven / Gradle / Ivy
package org.webpieces.router.impl.ctx;
import java.util.UUID;
import org.webpieces.ctx.api.Session;
import org.webpieces.router.impl.params.ObjectTranslator;
public class SessionImpl extends CookieScopeImpl implements Session, SecureCookie {
public static final String SECURE_TOKEN_KEY = "__ST";
public static String COOKIE_NAME = CookieScopeImpl.COOKIE_NAME_PREFIX+"Session";
public SessionImpl(ObjectTranslator primitiveTranslator) {
super(primitiveTranslator);
}
protected boolean isKeep() {
return cookie.size() > 0;
}
@Override
public String getName() {
return COOKIE_NAME;
}
@Override
public String getSecureToken() {
if (!containsKey(SECURE_TOKEN_KEY)) {
String secureToken = UUID.randomUUID().toString().replaceAll("-", "");
put(SECURE_TOKEN_KEY, secureToken);
}
return get(SECURE_TOKEN_KEY);
}
}