org.apache.myfaces.trinidad.context

## Class PageFlowScopeProvider

- java.lang.Object
- - org.apache.myfaces.trinidad.context.PageFlowScopeProvider

-     public abstract class PageFlowScopeProvider
      extends Object

  Abstract implementation for code that provides page flow scopes; this may be overridden.

  To override this, provide a file on the classpath at `/META-INF/services/org.apache.myfaces.trinidad.context.PageFlowScopeProvider` with the name of the alternative implementation. (There's no current support for decoration, and this general approach may be revisited in the future.)

- - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `PageFlowScopeProvider()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract String` | `encodeCurrentPageFlowScopeURL(javax.faces.context.FacesContext context, String url)` Encode the page flow scope into the current URL for processing in later requests.
    `abstract Map<String,Object>` | `getPageFlowScope(javax.faces.context.FacesContext context)` Returns the current PageFlowScope, including any calls to `pushPageFlowScope()` or `popPageFlowScope()`.
    `abstract Map<String,Object>` | `popPageFlowScope(javax.faces.context.FacesContext context, boolean discardScope)` Pushes a new process scope onto the stack.
    `abstract Map<String,Object>` | `pushPageFlowScope(javax.faces.context.FacesContext context, boolean copyParent)` Pushes a new process scope onto the stack.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### PageFlowScopeProvider

          protected PageFlowScopeProvider()

  - ### Method Detail

    - #### getPageFlowScope

          public abstract Map<String,Object> getPageFlowScope(javax.faces.context.FacesContext context)

      Returns the current PageFlowScope, including any calls to `pushPageFlowScope()` or `popPageFlowScope()`.
      Parameters:
        `context` - the current FacesContext

    - #### pushPageFlowScope

          public abstract Map<String,Object> pushPageFlowScope(javax.faces.context.FacesContext context,
                                             boolean copyParent)

      Pushes a new process scope onto the stack.
      Parameters:
        `context` - the current FacesContext
        `copyParent` - if true, all values from the parent process scope will be copied into the new process scope.
      Returns:
        the new scope

    - #### popPageFlowScope

          public abstract Map<String,Object> popPageFlowScope(javax.faces.context.FacesContext context,
                                            boolean discardScope)

      Pushes a new process scope onto the stack.
      Parameters:
        `context` - the current FacesContext
        `discardScope` - if true, the scope will be immediately destroyed. if false, the scope may be available (for back button use, for example), but this is at the discretion of the implementation, which may aggressively destroy page flow scopes in some circumstances.

    - #### encodeCurrentPageFlowScopeURL

          public abstract String encodeCurrentPageFlowScopeURL(javax.faces.context.FacesContext context,
                                             String url)

      Encode the page flow scope into the current URL for processing in later requests.
      Parameters:
        `context` - the current FacesContext
        `url` - an URL (which may already contain query parameters)

Copyright © 2001-2016 The Apache Software Foundation. All Rights Reserved.