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 StringCDI_BEAN_MANAGER_INSTANCEstatic StringINITIALIZEDstatic StringINJECTED_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 RuntimeConfigbuildConfiguration(jakarta.servlet.ServletContext servletContext, ExternalContext externalContext, jakarta.el.ExpressionFactory expressionFactory)Configures this JSF application.protected voidcleanupAfterStartup(FacesContext facesContext)voiddestroyFaces(jakarta.servlet.ServletContext servletContext)Cleans up all remaining resources (well, theoretically).voiddestroyShutdownFacesContext(FacesContext facesContext)voiddestroyStartupFacesContext(FacesContext facesContext)protected static jakarta.el.ExpressionFactorygetUserDefinedExpressionFactory(ExternalContext externalContext)Try to load user-definied ExpressionFactory.protected voidinitAutomaticExtensionlessMapping(FacesContext facesContext, jakarta.servlet.ServletContext servletContext)protected voidinitCDIIntegration(jakarta.servlet.ServletContext servletContext, ExternalContext externalContext)The intention of this method is provide a point where CDI integration is done.protected voidinitContainerIntegration(jakarta.servlet.ServletContext servletContext, ExternalContext externalContext)voidinitFaces(jakarta.servlet.ServletContext servletContext)Performs all necessary initialization tasks like configuring this JSF application.FacesContextinitShutdownFacesContext(jakarta.servlet.ServletContext servletContext)FacesContextinitStartupFacesContext(jakarta.servlet.ServletContext servletContext)protected voidinitWebsocketIntegration(jakarta.servlet.ServletContext servletContext, ExternalContext externalContext)protected static jakarta.el.ExpressionFactoryloadExpressionFactory(String expressionFactoryClassName)Loads and instantiates the given ExpressionFactory implementation.protected static jakarta.el.ExpressionFactoryloadExpressionFactory(String expressionFactoryClassName, boolean logMissing)protected voidvalidateFacesConfig(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 JSF application.- Specified by:
initFacesin 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:
destroyFacesin interfaceFacesInitializer- Parameters:
servletContext- The currentServletContext
-
buildConfiguration
protected RuntimeConfig buildConfiguration(jakarta.servlet.ServletContext servletContext, ExternalContext externalContext, jakarta.el.ExpressionFactory expressionFactory)
Configures this JSF 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:
initStartupFacesContextin interfaceFacesInitializer
-
destroyStartupFacesContext
public void destroyStartupFacesContext(FacesContext facesContext)
- Specified by:
destroyStartupFacesContextin interfaceFacesInitializer
-
initShutdownFacesContext
public FacesContext initShutdownFacesContext(jakarta.servlet.ServletContext servletContext)
- Specified by:
initShutdownFacesContextin interfaceFacesInitializer
-
destroyShutdownFacesContext
public void destroyShutdownFacesContext(FacesContext facesContext)
- Specified by:
destroyShutdownFacesContextin 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.FlowScopedandViewScopedrequires 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)
-
-