
io.datakernel.http.session.SessionStoreInMemory Maven / Gradle / Ivy
package io.datakernel.http.session;
import io.datakernel.promise.Promise;
import org.jetbrains.annotations.Nullable;
import java.util.HashMap;
import java.util.Map;
/**
* Extremely simple reference implementation of the session storage over a hash map.
*/
public final class SessionStoreInMemory implements SessionStore {
private final Map store = new HashMap<>();
private SessionStoreInMemory() {
}
public static SessionStoreInMemory create() {
return new SessionStoreInMemory();
}
@Override
public Promise save(String sessionId, T sessionObject) {
store.put(sessionId, sessionObject);
return Promise.complete();
}
@Override
public Promise<@Nullable T> get(String sessionId) {
return Promise.of(store.get(sessionId));
}
@Override
public Promise remove(String sessionId) {
store.remove(sessionId);
return Promise.complete();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy