package com.softwaremill.common.cdi.el;
import javax.el.ELContext;
import javax.faces.context.FacesContext;
/**
* @author Adam Warski (adam at warski dot org)
*/
public class FacesContextELEvaluator extends AbstractELEvaluator {
private final FacesContext facesContext;
public FacesContextELEvaluator(FacesContext facesContext) {
this.facesContext = facesContext;
}
@SuppressWarnings({"unchecked"})
public <T> T evaluate(String expression, Class<T> expectedResultType) {
ELContext elContext = facesContext.getELContext();
return ELEvaluatorUtil.evaluate(elContext, facesContext.getApplication().getExpressionFactory(),
expression, expectedResultType);
}
public void setParameter(String name, Object value) {
facesContext.getExternalContext().getRequestMap().put(name, value);
}
public void clearParameter(String name) {
facesContext.getExternalContext().getRequestMap().remove(name);
}
}