Class PartialViewContext

java.lang.Object
javax.faces.context.PartialViewContext
Direct Known Subclasses:
PartialViewContextWrapper

public abstract class PartialViewContext extends Object

PartialViewContext contains methods and properties that pertain to partial request processing and partial response rendering on a view.

The PartialViewContext instance is used to determine if the current request indicates the requirement to perform partial processing and/or partial rendering. Partial processing is the processing of selected components through the execute portion of the request processing lifecycle. Partial rendering is the rendering of specified components in the Render Response Phase of the request processing lifecycle.

  • Field Details

    • PARTIAL_RENDER_PARAM_NAME

      public static final String PARTIAL_RENDER_PARAM_NAME

      The request parameter name whose request parameter value is a Collection of client identifiers identifying the components that must be processed during the Render Response phase of the request processing lifecycle.

      Since:
      2.0
      See Also:
    • PARTIAL_EXECUTE_PARAM_NAME

      public static final String PARTIAL_EXECUTE_PARAM_NAME

      The request parameter name whose request parameter value is a Collection of client identifiers identifying the components that must be processed during the Apply Request Values, Process Validations, and Update Model Values phases of the request processing lifecycle.

      Since:
      2.0
      See Also:
    • RESET_VALUES_PARAM_NAME

      public static final String RESET_VALUES_PARAM_NAME

      If the request parameter named by the value of this constant has a parameter value of true, the implementation must return true from isResetValues().

      Since:
      2.2
      See Also:
    • ALL_PARTIAL_PHASE_CLIENT_IDS

      public static final String ALL_PARTIAL_PHASE_CLIENT_IDS

      The value that when used with PARTIAL_EXECUTE_PARAM_NAME or PARTIAL_RENDER_PARAM_NAME indicates these phases must be skipped.

      Since:
      2.0
      See Also:
  • Constructor Details

    • PartialViewContext

      public PartialViewContext()
  • Method Details

    • getExecuteIds

      public abstract Collection<String> getExecuteIds()

      Return a Collection of client identifiers from the current request with the request parameter name PARTIAL_EXECUTE_PARAM_NAME. If there is no such request parameter, return an empty Collection. These client identifiers are used to identify components that will be processed during the execute phase of the request processing lifecycle. The returned Collection is mutable.

      Throws:
      IllegalStateException - if this method is called after this instance has been released
      Since:
      2.0
    • getRenderIds

      public abstract Collection<String> getRenderIds()

      Return a Collection of client identifiers from the current request with the request parameter name PARTIAL_RENDER_PARAM_NAME. If there is no such request parameter, return an empty Collection. These client identifiers are used to identify components that will be processed during the render phase of the request processing lifecycle. The returned Collection is mutable.

      Throws:
      IllegalStateException - if this method is called after this instance has been released
      Since:
      2.0
    • getPartialResponseWriter

      public abstract PartialResponseWriter getPartialResponseWriter()

      Return the ResponseWriter to which components should direct their output for partial view rendering. Within a given response, components can use either the ResponseStream or the ResponseWriter, but not both.

      Throws:
      IllegalStateException - if this method is called after this instance has been released
      Since:
      2.0
    • isAjaxRequest

      public abstract boolean isAjaxRequest()

      Return true if the request header Faces-Request is present with the value partial/ajax. Otherwise, return false.

      Throws:
      IllegalStateException - if this method is called after this instance has been released
      Since:
      2.0
    • isPartialRequest

      public abstract boolean isPartialRequest()

      Return true isAjaxRequest() returns true or if the request header Faces-Request is present with the value partial/process. Otherwise, return false.

      Throws:
      IllegalStateException - if this method is called after this instance has been released
      Since:
      2.0
    • isExecuteAll

      public abstract boolean isExecuteAll()

      Return true if isAjaxRequest() returns true and PARTIAL_EXECUTE_PARAM_NAME is present in the current request with the value ALL_PARTIAL_PHASE_CLIENT_IDS.

      Otherwise, return false.

      Throws:
      IllegalStateException - if this method is called after this instance has been released
      Since:
      2.0
    • isRenderAll

      public abstract boolean isRenderAll()

      Return true if isAjaxRequest() returns true and PARTIAL_RENDER_PARAM_NAME is present in the current request with the value ALL_PARTIAL_PHASE_CLIENT_IDS.

      Otherwise, return false.

      Throws:
      IllegalStateException - if this method is called after this instance has been released
      Since:
      2.0
    • isResetValues

      public boolean isResetValues()

      Return true if the incoming request has a parameter named by the value of RESET_VALUES_PARAM_NAME and that value is true. To preserve backward compatibility with custom implementations that may have extended from an earlier version of this class, an implementation is provided that returns false. A compliant implementation must override this method to take the specified action.

      Since:
      2.2
    • setRenderAll

      public abstract void setRenderAll(boolean renderAll)

      Indicate the entire view must be rendered if renderAll is true.

      Parameters:
      renderAll - the value true indicates the entire view must be rendered.
      Throws:
      IllegalStateException - if this method is called after this instance has been released
      Since:
      2.0
    • setPartialRequest

      public abstract void setPartialRequest(boolean isPartialRequest)

      Dynamically indicate that this is a partial request.

      Parameters:
      isPartialRequest - the value true indicates this is a partial request.
      Throws:
      IllegalStateException - if this method is called after this instance has been released
      Since:
      2.0
    • release

      public abstract void release()

      Release any resources associated with this PartialViewContext instance.

      Throws:
      IllegalStateException - if this method is called after this instance has been released
    • processPartial

      public abstract void processPartial(PhaseId phaseId)

      Perform lifecycle processing on components during the indicated phaseId. Only those components with identifiers existing in the Collection returned from getExecuteIds() and getRenderIds() will be processed.

      Parameters:
      phaseId - the PhaseId that indicates the lifecycle phase the components will be processed in.