public abstract class FacesContextFactory extends java.lang.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 Jakarta Server
 Faces. This instance can be acquired, in a portable manner, by calling:
 
FacesContextFactory factory = (FacesContextFactory) FactoryFinder.getFactory(FactoryFinder.FACES_CONTEXT_FACTORY);
 Usage: extend this class and push the implementation being wrapped to the constructor and use getWrapped() to
 access the instance being wrapped.
 
| Constructor and Description | 
|---|
FacesContextFactory()
Deprecated. 
 
Use the other constructor taking the implementation being wrapped. 
 | 
FacesContextFactory(FacesContextFactory wrapped)
If this factory has been decorated, the implementation doing the decorating should push the implementation being wrapped to this constructor.  | 
| Modifier and Type | Method and Description | 
|---|---|
abstract FacesContext | 
getFacesContext(java.lang.Object context,
               java.lang.Object request,
               java.lang.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.  | 
@Deprecated public FacesContextFactory()
public FacesContextFactory(FacesContextFactory wrapped)
 If this factory has been decorated, the implementation doing the decorating should push the implementation being
 wrapped to this constructor. The getWrapped() will then return the implementation being wrapped.
 
wrapped - The implementation being wrapped.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.
getWrapped in interface FacesWrapper<FacesContextFactory>public abstract FacesContext getFacesContext(java.lang.Object context, java.lang.Object request, java.lang.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.
 
 The default implementation must call ClientWindowFactory.getClientWindow(jakarta.faces.context.FacesContext) and make it
 so the return from that method is what gets returned from a call to ExternalContext.getClientWindow() on the
 returned ExternalContext instance.
 
context - In Jakarta Servlet environments, the ServletContext that is associated with this web
 applicationrequest - In Jakarta Servlet environments, the ServletRequest that is to be processedresponse - In Jakarta Servlet environments, the ServletResponse that is to be processedlifecycle - The Lifecycle instance being used to process this requestFacesContext.FacesException - if a FacesContext cannot be constructed for the specified parametersjava.lang.NullPointerException - if any of the parameters are null