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

com.wizzardo.http.framework.di.SessionDependency Maven / Gradle / Ivy

package com.wizzardo.http.framework.di;

import com.wizzardo.http.Session;
import com.wizzardo.http.framework.RequestContext;

import java.util.function.Supplier;

/**
 * Created by wizzardo on 05.05.15.
 */
public class SessionDependency extends Dependency {

    public SessionDependency(Class clazz, Supplier supplier, DependencyScope scope) {
        super(clazz, supplier, scope);
    }

    public SessionDependency(Class clazz) {
        super(clazz, DependencyScope.SESSION);
    }

    @Override
    public T get() {
        Session session = ((RequestContext) Thread.currentThread()).getRequestHolder().request.session();
        T t = (T) session.get(clazz);
        if (t == null)
            session.put(clazz, t = newInstance());

        return t;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy