javax.faces.context
Class FacesContextFactory

java.lang.Object
  extended by javax.faces.context.FacesContextFactory
All Implemented Interfaces:
FacesWrapper<FacesContextFactory>

public abstract class FacesContextFactory
extends Object
implements FacesWrapper<FacesContextFactory>

FacesContextFactory is a factory object that creates (if needed) and returns new FacesContext instances, initialized for the processing of the specified request and response objects. Implementations may take advantage of the calls to the release() method of the allocated FacesContext instances to pool and recycle them, rather than creating a new instance every time.

There must be one FacesContextFactory instance per web application that is utilizing JavaServer Faces. This instance can be acquired, in a portable manner, by calling:

   FacesContextFactory factory = (FacesContextFactory)
    FactoryFinder.getFactory(FactoryFinder.FACES_CONTEXT_FACTORY);
 


Constructor Summary
FacesContextFactory()
           
 
Method Summary
abstract  FacesContext getFacesContext(Object context, Object request, Object response, Lifecycle lifecycle)
          Create (if needed) and return a FacesContext instance that is initialized for the processing of the specified request and response objects, utilizing the specified Lifecycle instance, for this web application.
 FacesContextFactory getWrapped()
          

If this factory has been decorated, the implementation doing the decorating may override this method to provide access to the implementation being wrapped.

 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FacesContextFactory

public FacesContextFactory()
Method Detail

getWrapped

public FacesContextFactory getWrapped()

If this factory has been decorated, the implementation doing the decorating may override this method to provide access to the implementation being wrapped. A default implementation is provided that returns null.

Specified by:
getWrapped in interface FacesWrapper<FacesContextFactory>
Since:
2.0

getFacesContext

public abstract FacesContext getFacesContext(Object context,
                                             Object request,
                                             Object response,
                                             Lifecycle lifecycle)
                                      throws FacesException

Create (if needed) and return a FacesContext instance that is initialized for the processing of the specified request and response objects, utilizing the specified Lifecycle instance, for this web application.

The implementation of this method must ensure that calls to the getCurrentInstance() method of FacesContext, from the same thread that called this method, will return the same FacesContext instance until the release() method is called on that instance.

The implementation must call ExternalContextFactory.getExternalContext(java.lang.Object, java.lang.Object, java.lang.Object) to produce the ExternalContext for the FacesContext instance.

The default implementation must call ExceptionHandlerFactory.getExceptionHandler() and make it so the return from that method is what gets returned from a call to FacesContext.getExceptionHandler() on the returned FacesContext instance.

Parameters:
context - In servlet environments, the ServletContext that is associated with this web application
request - In servlet environments, the ServletRequest that is to be processed
response - In servlet environments, the ServletResponse that is to be processed
lifecycle - The Lifecycle instance being used to process this request
Throws:
FacesException - if a FacesContext cannot be constructed for the specified parameters
NullPointerException - if any of the parameters are null


Copyright 2002-2009 Sun Microsystems, Inc. All Rights Reserved.