package helpers;
import com.google.inject.Injector;
import models.CacheableUser;
import play.Application;
import play.Play;
import play.mvc.Http;
import providers.CacheableUserProvider;
import service.GuiceInjectionPlugin;
public class SessionHelper {
public static CacheableUser currentUser() {
return appInstance()
.getProvider()
.getUser(Http.Context.current().session());
}
protected static SessionHelper appInstance() {
return new SessionHelper(Play.application());
}
/* Protected instance */
final Application application;
protected SessionHelper(Application application) {
this.application = application;
}
protected Injector getInjector() {
return application.plugin(GuiceInjectionPlugin.class).getInjector();
}
protected CacheableUserProvider getProvider() {
return getInjector().getInstance(CacheableUserProvider.class);
}
}