org.primefaces.context.PrimeFacesContextFactory Maven / Gradle / Ivy
package org.primefaces.context;
import javax.faces.FacesException;
import javax.faces.context.FacesContext;
import javax.faces.context.FacesContextFactory;
import javax.faces.lifecycle.Lifecycle;
/**
* {@link FacesContextFactory} to wrap the {@link FacesContext} with our {@link PrimeFacesContext}.
*/
public class PrimeFacesContextFactory extends FacesContextFactory {
private FacesContextFactory wrapped;
// #6212 - don't remove it
public PrimeFacesContextFactory() {
}
public PrimeFacesContextFactory(FacesContextFactory wrapped) {
this.wrapped = wrapped;
}
@Override
public FacesContext getFacesContext(Object context, Object request, Object response, Lifecycle lifecycle)
throws FacesException {
FacesContext wrappedContext = wrapped.getFacesContext(context, request, response, lifecycle);
if (wrappedContext instanceof PrimeFacesContext) {
return wrappedContext;
}
return new PrimeFacesContext(wrappedContext);
}
public FacesContextFactory getWrapped() {
return wrapped;
}
}