package org.jboss.seam.mock; import javax.faces.application.Application; import javax.faces.application.ApplicationFactory; import org.jboss.seam.jsf.SeamApplication; /** * An mock implementation of the JSF ApplicationFactory which returns a mock * Application wrapped in a SeamApplication. This class can be registered with * JSF to allow JSF to be used formally in a test environment as follows: * * <code> * FactoryFinder.setFactory(FactoryFinder.APPLICATION_FACTORY, * "org.jboss.seam.mock.MockApplicationFactory"); * Application application = ((ApplicationFactory) FactoryFinder * .getFactory(FactoryFinder.APPLICATION_FACTORY)).getApplication(); * </code> * * @author Dan Allen */ public class MockApplicationFactory extends ApplicationFactory { private Application application; @Override public Application getApplication() { if (application == null) { application = new SeamApplication(new MockApplication()); } return application; } @Override public void setApplication(Application application) { this.application = application; } }