java.lang.Object
org.omnifaces.util.Hacks
Collection of Faces implementation and/or Faces component library and/or server specific hacks.
This class is not listed in showcase! Should I use it?
This class is indeed intended for internal usage only. We won't add methods here on user request. We only add methods here once we encounter non-DRY code in OmniFaces codebase. The methods may be renamed/changed without notice.
We don't stop you from using it if you found it in the Javadoc and you think you find it useful, but you have to accept the risk that the method signatures can be changed without notice. This utility class exists because OmniFaces intends to be free of 3rd party dependencies.
- Since:
- 1.3
- Author:
- Bauke Scholtz, Arjan Tijms
-
Method Summary
Modifier and TypeMethodDescriptionstatic voidClear the cached faces servlet mapping as interpreted by either Mojarra or MyFaces.static VariableMapperFinds the wrapped variable mapper of the given variable mapper.static longReturns the default resource maximum age in milliseconds.static UIComponentgetMetadataFacet(UIViewRoot viewRoot) Returns f:metadata facet from UIViewRoot.static StateHelpergetStateHelper(UIComponent component) Expose protected state helper into public.static booleanReturns true if Mojarra is used.static booleanReturns true if MyFaces is used.static booleanisNestedInPrimeFacesDialog(UIComponent... components) Returns true if the given components are nested in (same) PrimeFaces dialog.static booleanisPrimeFacesAjaxRequest(FacesContext context) Returns true if the current request is a PrimeFaces ajax request.static booleanReturns true if the current request is a PrimeFaces dynamic resource request.static booleanisTomcatWebSocketBombed(Session session, IllegalStateException illegalStateException) Returns true if the given WS session is from Tomcat and given illegal state exception is caused by a push bomb which Tomcat couldn't handle.static voidRemove the resource dependency processing related attributes from the given faces context.static voidremoveViewState(FacesContext context, ResponseStateManager manager, String viewId) Remove server side Faces view state (and view scoped beans) associated with current request.static voidsetComponentResourceUniqueId(FacesContext context, UIComponent resource) Set the unique ID of the component resource, taking into account MyFaces-specific way of generating a resource specific unique ID.
-
Method Details
-
isMojarraUsed
public static boolean isMojarraUsed()Returns true if Mojarra is used. That is, when the FacesContext instance is from the Mojarra specific package.- Returns:
- Whether Mojarra is used.
- Since:
- 3.9
-
isMyFacesUsed
public static boolean isMyFacesUsed()Returns true if MyFaces is used. That is, when the FacesContext instance is from the MyFaces specific package.- Returns:
- Whether MyFaces is used.
- Since:
- 1.8
-
getDefaultResourceMaxAge
public static long getDefaultResourceMaxAge()Returns the default resource maximum age in milliseconds.- Returns:
- The default resource maximum age in milliseconds.
-
removeResourceDependencyState
Remove the resource dependency processing related attributes from the given faces context.- Parameters:
context- The involved faces context.
-
setComponentResourceUniqueId
Set the unique ID of the component resource, taking into account MyFaces-specific way of generating a resource specific unique ID.- Parameters:
context- The involved faces context.resource- The involved component resource.- Since:
- 2.6.1
-
clearCachedFacesServletMapping
Clear the cached faces servlet mapping as interpreted by either Mojarra or MyFaces. This is useful if you want to force the impl to recalculate the faces servlet mapping.- Parameters:
context- The involved faces context.- Since:
- 3.10
-
removeViewState
public static void removeViewState(FacesContext context, ResponseStateManager manager, String viewId) Remove server side Faces view state (and view scoped beans) associated with current request.- Parameters:
context- The involved faces context.manager- The involved response state manager.viewId- The view ID of the involved view.- Since:
- 2.3
-
getStateHelper
Expose protected state helper into public.- Parameters:
component- The component to obtain state helper for.- Returns:
- The state helper of the given component.
- Since:
- 2.3
-
getMetadataFacet
Returns f:metadata facet from UIViewRoot. MyFaces 3.x unexpectedly doesn't useUIViewRoot.METADATA_FACET_NAMEanymore to identify the facet.- Parameters:
viewRoot- The UIViewRoot to obtain f:metadata facet from.- Returns:
- f:metadata facet from UIViewRoot.
- Since:
- 4.0
-
findWrappedVariableMapper
Finds the wrapped variable mapper of the given variable mapper.- Parameters:
mapper- The variable mapper to find wrapped variable mapper for.- Returns:
- The wrapped variable mapper of the given variable mapper.
- Since:
- 3.14.4
-
isPrimeFacesDynamicResourceRequest
Returns true if the current request is a PrimeFaces dynamic resource request.- Parameters:
context- The involved faces context.- Returns:
- Whether the current request is a PrimeFaces dynamic resource request.
- Since:
- 1.8
-
isPrimeFacesAjaxRequest
Returns true if the current request is a PrimeFaces ajax request.- Parameters:
context- The involved faces context.- Returns:
- Whether the current request is a PrimeFaces ajax request.
- Since:
- 2.7.12
-
isNestedInPrimeFacesDialog
Returns true if the given components are nested in (same) PrimeFaces dialog.- Parameters:
components- The components to be checked.- Returns:
- Whether the given components are nested in (same) PrimeFaces dialog.
- Since:
- 2.6
-
isTomcatWebSocketBombed
public static boolean isTomcatWebSocketBombed(Session session, IllegalStateException illegalStateException) Returns true if the given WS session is from Tomcat and given illegal state exception is caused by a push bomb which Tomcat couldn't handle. See also https://bz.apache.org/bugzilla/show_bug.cgi?id=56026 and https://github.com/omnifaces/omnifaces/issues/234- Parameters:
session- The WS session.illegalStateException- The illegal state exception.- Returns:
- Whether it was Tomcat who couldn't handle the push bomb.
- Since:
- 2.5
-