package org.hdiv.context;
import javax.faces.FacesException;
import javax.faces.context.ExternalContext;
import javax.faces.context.ExternalContextFactory;
/**
* Factory to create HDIV's ExternalContext objects instead of JSF's base
* implementation
*
* @author Gotzon Illarramendi
*
*/
public class ExternalContextFactoryWrapper extends ExternalContextFactory {
/**
* Original ExternalContextFactory
*/
private ExternalContextFactory original;
/**
* Default constructor
*
* @param original
* original ExternalContextFactory
*/
public ExternalContextFactoryWrapper(ExternalContextFactory original) {
super();
this.original = original;
}
/*
* (non-Javadoc)
*
* @see javax.faces.context.ExternalContextFactory#getWrapped()
*/
public ExternalContextFactory getWrapped() {
return this.original;
}
/*
* (non-Javadoc)
*
* @see
* javax.faces.context.ExternalContextFactory#getExternalContext(java.lang
* .Object, java.lang.Object, java.lang.Object)
*/
public ExternalContext getExternalContext(Object context, Object request, Object response) throws FacesException {
ExternalContext ec = this.original.getExternalContext(context, request, response);
return new RedirectExternalContext2(ec);
}
}