package com.softwaremill.common.cdi.el; import javax.enterprise.context.RequestScoped; import javax.enterprise.inject.Produces; import javax.enterprise.inject.spi.BeanManager; import javax.faces.context.FacesContext; import javax.inject.Inject; /** * @author Adam Warski (adam at warski dot org) */ public class ELEvaluatorProducer { @Inject private BeanManager beanManager; @Produces @RequestScoped public ELEvaluator getEvaluator() { if (FacesContext.getCurrentInstance() != null) { return new FacesContextELEvaluator(FacesContext.getCurrentInstance()); } else { return new TemporaryContextELEvaluator(beanManager); } } }