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

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

package com.wizzardo.http.framework.di;

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

import java.util.function.Supplier;

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

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

    public RequestDependency(Class clazz) {
        super(clazz, DependencyScope.REQUEST);
    }

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

        return t;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy