Package org.apache.myfaces.webapp
Class FacesInitializerImpl
- java.lang.Object
-
- org.apache.myfaces.webapp.FacesInitializerImpl
-
- All Implemented Interfaces:
FacesInitializer
public class FacesInitializerImpl extends Object implements FacesInitializer
Performs common initialization tasks.
-
-
Field Summary
Fields Modifier and Type Field Description static String
CDI_BEAN_MANAGER_INSTANCE
static String
INITIALIZED
static String
INJECTED_BEAN_STORAGE_KEY
-
Constructor Summary
Constructors Constructor Description FacesInitializerImpl()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
_callPreDestroyOnInjectedJSFArtifacts(FacesContext facesContext)
protected RuntimeConfig
buildConfiguration(jakarta.servlet.ServletContext servletContext, ExternalContext externalContext, jakarta.el.ExpressionFactory expressionFactory)
Configures this Faces application.protected void
cleanupAfterStartup(FacesContext facesContext)
void
destroyFaces(jakarta.servlet.ServletContext servletContext)
Cleans up all remaining resources (well, theoretically).void
destroyShutdownFacesContext(FacesContext facesContext)
void
destroyStartupFacesContext(FacesContext facesContext)
protected static jakarta.el.ExpressionFactory
getUserDefinedExpressionFactory(ExternalContext externalContext)
Try to load user-definied ExpressionFactory.protected void
initAutomaticExtensionlessMapping(FacesContext facesContext, jakarta.servlet.ServletContext servletContext)
protected void
initCDIIntegration(jakarta.servlet.ServletContext servletContext, ExternalContext externalContext)
The intention of this method is provide a point where CDI integration is done.protected void
initContainerIntegration(jakarta.servlet.ServletContext servletContext, ExternalContext externalContext)
void
initFaces(jakarta.servlet.ServletContext servletContext)
Performs all necessary initialization tasks like configuring this Faces application.FacesContext
initShutdownFacesContext(jakarta.servlet.ServletContext servletContext)
FacesContext
initStartupFacesContext(jakarta.servlet.ServletContext servletContext)
protected void
initWebsocketIntegration(jakarta.servlet.ServletContext servletContext, ExternalContext externalContext)
protected static jakarta.el.ExpressionFactory
loadExpressionFactory(String expressionFactoryClassName)
Loads and instantiates the given ExpressionFactory implementation.protected static jakarta.el.ExpressionFactory
loadExpressionFactory(String expressionFactoryClassName, boolean logMissing)
protected void
validateFacesConfig(jakarta.servlet.ServletContext servletContext, ExternalContext externalContext)
-
-
-
Field Detail
-
CDI_BEAN_MANAGER_INSTANCE
public static final String CDI_BEAN_MANAGER_INSTANCE
- See Also:
- Constant Field Values
-
INJECTED_BEAN_STORAGE_KEY
public static final String INJECTED_BEAN_STORAGE_KEY
- See Also:
- Constant Field Values
-
INITIALIZED
public static final String INITIALIZED
- See Also:
- Constant Field Values
-
-
Method Detail
-
initFaces
public void initFaces(jakarta.servlet.ServletContext servletContext)
Performs all necessary initialization tasks like configuring this Faces application.- Specified by:
initFaces
in interfaceFacesInitializer
- Parameters:
servletContext
- The currentServletContext
-
cleanupAfterStartup
protected void cleanupAfterStartup(FacesContext facesContext)
-
destroyFaces
public void destroyFaces(jakarta.servlet.ServletContext servletContext)
Cleans up all remaining resources (well, theoretically).- Specified by:
destroyFaces
in interfaceFacesInitializer
- Parameters:
servletContext
- The currentServletContext
-
buildConfiguration
protected RuntimeConfig buildConfiguration(jakarta.servlet.ServletContext servletContext, ExternalContext externalContext, jakarta.el.ExpressionFactory expressionFactory)
Configures this Faces application. It's required that every FacesInitializer (i.e. every subclass) calls this method during initialization.- Parameters:
servletContext
- the current ServletContextexternalContext
- the current ExternalContextexpressionFactory
- the ExpressionFactory to use- Returns:
- the current runtime configuration
-
validateFacesConfig
protected void validateFacesConfig(jakarta.servlet.ServletContext servletContext, ExternalContext externalContext)
-
getUserDefinedExpressionFactory
protected static jakarta.el.ExpressionFactory getUserDefinedExpressionFactory(ExternalContext externalContext)
Try to load user-definied ExpressionFactory. Returnsnull
, if no custom ExpressionFactory was specified.- Parameters:
externalContext
- the current ExternalContext- Returns:
- User-specified ExpressionFactory, or
null
, if no no custom implementation was specified
-
loadExpressionFactory
protected static jakarta.el.ExpressionFactory loadExpressionFactory(String expressionFactoryClassName)
Loads and instantiates the given ExpressionFactory implementation.- Parameters:
expressionFactoryClassName
- the class name of the ExpressionFactory implementation- Returns:
- the newly created ExpressionFactory implementation, or
null
, if an error occurred
-
loadExpressionFactory
protected static jakarta.el.ExpressionFactory loadExpressionFactory(String expressionFactoryClassName, boolean logMissing)
-
initStartupFacesContext
public FacesContext initStartupFacesContext(jakarta.servlet.ServletContext servletContext)
- Specified by:
initStartupFacesContext
in interfaceFacesInitializer
-
destroyStartupFacesContext
public void destroyStartupFacesContext(FacesContext facesContext)
- Specified by:
destroyStartupFacesContext
in interfaceFacesInitializer
-
initShutdownFacesContext
public FacesContext initShutdownFacesContext(jakarta.servlet.ServletContext servletContext)
- Specified by:
initShutdownFacesContext
in interfaceFacesInitializer
-
destroyShutdownFacesContext
public void destroyShutdownFacesContext(FacesContext facesContext)
- Specified by:
destroyShutdownFacesContext
in interfaceFacesInitializer
-
initCDIIntegration
protected void initCDIIntegration(jakarta.servlet.ServletContext servletContext, ExternalContext externalContext)
The intention of this method is provide a point where CDI integration is done.FlowScoped
andViewScoped
requires CDI in order to work, so this method should set a BeanManager instance on application map under the key "oam.cdi.BEAN_MANAGER_INSTANCE". The default implementation look on ServletContext first and then use JNDI.- Parameters:
servletContext
-externalContext
-
-
_callPreDestroyOnInjectedJSFArtifacts
public void _callPreDestroyOnInjectedJSFArtifacts(FacesContext facesContext)
-
initWebsocketIntegration
protected void initWebsocketIntegration(jakarta.servlet.ServletContext servletContext, ExternalContext externalContext)
-
initAutomaticExtensionlessMapping
protected void initAutomaticExtensionlessMapping(FacesContext facesContext, jakarta.servlet.ServletContext servletContext)
- Parameters:
facesContext
-servletContext
-- Since:
- 2.3
-
initContainerIntegration
protected void initContainerIntegration(jakarta.servlet.ServletContext servletContext, ExternalContext externalContext)
-
-