Class PartialViewContext

  • Direct Known Subclasses:
    PartialViewContextWrapper


    public abstract class PartialViewContext
    extends java.lang.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 Detail

      • PARTIAL_RENDER_PARAM_NAME

        public static final java.lang.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:
        Constant Field Values
      • PARTIAL_EXECUTE_PARAM_NAME

        public static final java.lang.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:
        Constant Field Values
      • RESET_VALUES_PARAM_NAME

        public static final java.lang.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:
        Constant Field Values
    • Constructor Detail

      • PartialViewContext

        public PartialViewContext​()
    • Method Detail

      • getExecuteIds

        public abstract java.util.Collection<java.lang.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:
        java.lang.IllegalStateException - if this method is called after this instance has been released
        Since:
        2.0
      • getRenderIds

        public abstract java.util.Collection<java.lang.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:
        java.lang.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:
        java.lang.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:
        java.lang.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:
        java.lang.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:
        java.lang.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:
        java.lang.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:
        java.lang.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:
        java.lang.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:
        java.lang.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.