Class ViewScopeManager

java.lang.Object
org.omnifaces.cdi.viewscope.ViewScopeManager

@ApplicationScoped public class ViewScopeManager extends Object
Manages view scoped bean creation and destroy. The creation is initiated by ViewScopeContext which is registered by ViewScopeExtension and the destroy is initiated by ViewScopeEventListener which is registered in faces-config.xml.

Depending on ViewScoped.saveInViewState(), this view scope manager will delegate the creation and destroy further to either ViewScopeStorageInSession or ViewScopeStorageInViewState which saves the concrete bean instances in respectively HTTP session or Faces view state.

Since:
1.6
Author:
Radu Creanga <rdcrng@gmail.com>, Bauke Scholtz
See Also:
  • Field Details

    • PARAM_NAME_MAX_ACTIVE_VIEW_SCOPES

      public static final String PARAM_NAME_MAX_ACTIVE_VIEW_SCOPES
      OmniFaces specific context parameter name of maximum active view scopes in session.
      See Also:
    • PARAM_NAME_MOJARRA_NUMBER_OF_VIEWS

      public static final String PARAM_NAME_MOJARRA_NUMBER_OF_VIEWS
      Mojarra specific context parameter name of maximum number of logical views in session.
      See Also:
    • PARAM_NAME_MYFACES_NUMBER_OF_VIEWS

      public static final String PARAM_NAME_MYFACES_NUMBER_OF_VIEWS
      MyFaces specific context parameter name of maximum number of views in session.
      See Also:
    • DEFAULT_MAX_ACTIVE_VIEW_SCOPES

      public static final int DEFAULT_MAX_ACTIVE_VIEW_SCOPES
      Default value of maximum active view scopes in session.
      See Also:
  • Constructor Details

    • ViewScopeManager

      public ViewScopeManager()
  • Method Details

    • getBean

      public <T> T getBean(Contextual<T> type, CreationalContext<T> context)
      Returns the CDI view scoped managed bean from the current Faces view scope, and auto-creates one if it doesn't exist.
      Type Parameters:
      T - The expected return type.
      Parameters:
      type - The contextual type of the CDI managed bean.
      context - The CDI context to create the CDI managed bean in.
      Returns:
      The auto-created CDI view scoped managed bean from the current Faces view scope.
      Since:
      4.5
    • getBean

      public <T> T getBean(Contextual<T> type)
      Returns the CDI view scoped managed bean from the current Faces view scope, or null if there is none.
      Type Parameters:
      T - The expected return type.
      Parameters:
      type - The contextual type of the CDI managed bean.
      Returns:
      The CDI view scoped managed bean from the current Faces view scope, or null if there is none.
    • preDestroyView

      public void preDestroyView()
      This method is invoked during view destroy by ViewScopeEventListener, in that case destroy all beans in current active view scope.
    • isUnloadRequest

      public static boolean isUnloadRequest(FacesContext context)
      Returns true if the current request is triggered by an unload request.
      Parameters:
      context - The involved faces context.
      Returns:
      true if the current request is triggered by an unload request.
      Since:
      2.2
    • isUnloadRequest

      public static boolean isUnloadRequest(HttpServletRequest request)
      Returns true if the given request is triggered by an unload request.
      Parameters:
      request - The involved request.
      Returns:
      true if the given request is triggered by an unload request.
      Since:
      3.1