# com.bea.wlw.netui.pageflow
PageFlowRequestProcessor Class

public class PageFlowRequestProcessor
extends `RequestProcessor`
implements `PageFlowConstants`, `Serializable`

The Page Flow extension of the Struts RequestProcessor, which contains callbacks that are invoked during processing of a request to the Struts action servlet. This class is registered as the controller for all Struts modules derived from page flows.

Hierarchy
  `Object`
  `RequestProcessor`
  `PageFlowRequestProcessor`

All Implemented Interfaces
  `PageFlowConstants`, `Serializable`

## Nested Class Summary

`protected class` | `PageFlowRequestProcessor.DefaultHttpRedirector`
`public static class` | `PageFlowRequestProcessor.ExceptionHandledAction` Used by `PageFlowRequestProcessor.ExceptionHandledAction.processMapping(HttpServletRequest, HttpServletResponse, String)```.
`protected static class` | `PageFlowRequestProcessor.ExceptionHandledActionMapping` Used by `PageFlowRequestProcessor.ExceptionHandledActionMapping.processMapping(HttpServletRequest, HttpServletResponse, String)```.
`protected static class` | `PageFlowRequestProcessor.GlobalAppActionMapping` Used by `PageFlowRequestProcessor.GlobalAppActionMapping.processMapping(HttpServletRequest, HttpServletResponse, String)```.
`public static class` | `PageFlowRequestProcessor.GlobalAppForwardAction` Used by `PageFlowRequestProcessor.GlobalAppForwardAction.processMapping(HttpServletRequest, HttpServletResponse, String)```.

## Field Summary

Fields from org.apache.struts.action`.`RequestProcessor``
`actions, appConfig, INCLUDE_PATH_INFO, INCLUDE_SERVLET_PATH, log, moduleConfig, servlet`

Fields from interface com.bea.wlw.netui.pageflow`.`PageFlowConstants``
``ACTION_EXTENSION`, `ACTION_EXTENSION_LEN`, `ACTION_OVERRIDE`, `BEGIN_ACTION_NAME`, `BEGIN_ACTION_PATH`, `DEFAULT_FORWARD_OVERFLOW_COUNT`, `DEFAULT_NESTING_OVERFLOW_COUNT`, `FORWARD_OVERFLOW_COUNT_PARAM`, `GLOBALAPP_CLASSNAME`, `GLOBALAPP_MEMBER_NAME`, `GLOBALAPP_MODULE_CONTEXT_PATH`, `GLOBALAPP_SOURCEFILE_NAME`, `INTERNAL_VAR_PREFIX`, `ISNESTABLE_VAR_NAME`, `JPF_EXTENSION`, `JPF_MODULE_CONFIG_EXTENSION`, `JPF_MODULE_CONFIG_GEN_DIR`, `JPF_MODULE_CONFIG_PREFIX`, `NESTING_OVERFLOW_COUNT_PARAM`, `PROCESS_ROLES_FAILED_ATTR`, `WEBINF_DIR``

## Constructor Summary

PageFlowRequestProcessor()

## Method Summary

`protected void` | `changeScheme`(`String` webappRelativeURI, `String` scheme, int port, `HttpServletRequest` request, `HttpServletResponse` response)
`protected void` | `doForward`(`String` uri, `HttpServletRequest` request, `HttpServletResponse` response)
`protected `ActionMapping`` | `getBeginMapping`()
`protected final int` | `getForwardedRequestCount`(`HttpServletRequest` request)
`public void` | `init`(`ActionServlet` servlet, `ModuleConfig` config)
`protected final boolean` | `isForwardedRequest`(`HttpServletRequest` request)
`public void` | `process`(`HttpServletRequest` request, `HttpServletResponse` response)
`protected `Action`` | `processActionCreate`(`HttpServletRequest` request, `HttpServletResponse` response, `ActionMapping` actionMapping)
`protected `ActionForm`` | `processActionForm`(`HttpServletRequest` request, `HttpServletResponse` response, `ActionMapping` mapping)
`public `ActionForward`` | `processException`(`HttpServletRequest` request, `HttpServletResponse` response, `Exception` ex, `ActionForm` form, `ActionMapping` mapping)
`protected void` | `processForwardConfig`(`HttpServletRequest` request, `HttpServletResponse` response, `ForwardConfig` forward) This override of the base method ensures that absolute URIs don't get the context path prepended, and handles forwards to special things like return-to="currentPage".
`public `ActionMapping`` | `processMapping`(`HttpServletRequest` request, `HttpServletResponse` response, `String` path)
`protected `HttpServletRequest`` | `processMultipart`(`HttpServletRequest` request) If this is a multipart request, wrap it with a special wrapper.
`protected void` | `processNoCache`(`HttpServletRequest` request, `HttpServletResponse` response) Set the no-cache headers for all responses.
`protected void` | `processPopulate`(`HttpServletRequest` request, `HttpServletResponse` response, `ActionForm` form, `ActionMapping` mapping)
`protected boolean` | `processRoles`(`HttpServletRequest` request, `HttpServletResponse` response, `ActionMapping` mapping)
`protected boolean` | `shouldDoSecureForwards`()
`protected void` | `superForward`(`String` uri, `HttpServletRequest` request, `HttpServletResponse` response)

Methods from `org.apache.struts.action.`RequestProcessor``
`destroy, doInclude, getDebug, getInternal, getServletContext, internalModuleRelativeForward, internalModuleRelativeInclude, log, log, processActionForward, processActionPerform, processContent, processForward, processInclude, processLocale, processPath, processPreprocess, processValidate`

Methods from class `java.lang.`Object``
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Detail

### PageFlowRequestProcessor

    public PageFlowRequestProcessor()

## Method Detail

### changeScheme(String, String, int, HttpServletRequest, HttpServletResponse) Method

    protected void changeScheme(String webappRelativeURI,
                                String scheme,
                                int port,
                                HttpServletRequest request,
                                HttpServletResponse response)
         throws URISyntaxException, IOException, ServletException

#### Exceptions

``URISyntaxException``
``IOException``
``ServletException``

### doForward(String, HttpServletRequest, HttpServletResponse) Method

    protected void doForward(String uri,
                             HttpServletRequest request,
                             HttpServletResponse response)
         throws IOException, ServletException

Overrides
  RequestProcessor.doForward(String, HttpServletRequest, HttpServletResponse)

#### Exceptions

``IOException``
``ServletException``

### getBeginMapping() Method

    protected ActionMapping getBeginMapping()

### getForwardedRequestCount(HttpServletRequest) Method

    protected final int getForwardedRequestCount(HttpServletRequest request)

### init(ActionServlet, ModuleConfig) Method

    public void init(ActionServlet servlet,
                     ModuleConfig config)
         throws ServletException

Overrides
  RequestProcessor.init(ActionServlet, ModuleConfig)

#### Exceptions

``ServletException``

### isForwardedRequest(HttpServletRequest) Method

    protected final boolean isForwardedRequest(HttpServletRequest request)

### process(HttpServletRequest, HttpServletResponse) Method

    public void process(HttpServletRequest request,
                        HttpServletResponse response)
         throws IOException, ServletException

Overrides
  RequestProcessor.process(HttpServletRequest, HttpServletResponse)

#### Exceptions

``IOException``
``ServletException``

### processActionCreate(HttpServletRequest, HttpServletResponse, ActionMapping) Method

    protected Action processActionCreate(HttpServletRequest request,
                                         HttpServletResponse response,
                                         ActionMapping actionMapping)
         throws IOException

Overrides
  RequestProcessor.processActionCreate(HttpServletRequest, HttpServletResponse, ActionMapping)

#### Exceptions

``IOException``

### processActionForm(HttpServletRequest, HttpServletResponse, ActionMapping) Method

    protected ActionForm processActionForm(HttpServletRequest request,
                                           HttpServletResponse response,
                                           ActionMapping mapping)

Overrides
  RequestProcessor.processActionForm(HttpServletRequest, HttpServletResponse, ActionMapping)

### processException(HttpServletRequest, HttpServletResponse, Exception, ActionForm, ActionMapping) Method

    public ActionForward processException(HttpServletRequest request,
                                          HttpServletResponse response,
                                          Exception ex,
                                          ActionForm form,
                                          ActionMapping mapping)
         throws IOException, ServletException

Overrides
  RequestProcessor.processException(HttpServletRequest, HttpServletResponse, Exception, ActionForm, ActionMapping)

#### Exceptions

``IOException``
``ServletException``

### processForwardConfig(HttpServletRequest, HttpServletResponse, ForwardConfig) Method

    protected void processForwardConfig(HttpServletRequest request,
                                        HttpServletResponse response,
                                        ForwardConfig forward)
         throws IOException, ServletException

This override of the base method ensures that absolute URIs don't get the context path prepended, and handles forwards to special things like return-to="currentPage".

Overrides
  RequestProcessor.processForwardConfig(HttpServletRequest, HttpServletResponse, ForwardConfig)

#### Exceptions

``IOException``
``ServletException``

### processMapping(HttpServletRequest, HttpServletResponse, String) Method

    public ActionMapping processMapping(HttpServletRequest request,
                                        HttpServletResponse response,
                                        String path)
         throws IOException

Overrides
  RequestProcessor.processMapping(HttpServletRequest, HttpServletResponse, String)

#### Exceptions

``IOException``

### processMultipart(HttpServletRequest) Method

    protected HttpServletRequest processMultipart(HttpServletRequest request)

If this is a multipart request, wrap it with a special wrapper. Otherwise, return the request unchanged.

Overrides
  RequestProcessor.processMultipart(HttpServletRequest)

#### Parameters

request
  The HttpServletRequest we are processing

### processNoCache(HttpServletRequest, HttpServletResponse) Method

    protected void processNoCache(HttpServletRequest request,
                                  HttpServletResponse response)

Set the no-cache headers for all responses. This overrides the base Struts behavior to prevent caching entirely in iterative dev mode.

Overrides
  RequestProcessor.processNoCache(HttpServletRequest, HttpServletResponse)

### processPopulate(HttpServletRequest, HttpServletResponse, ActionForm, ActionMapping) Method

    protected void processPopulate(HttpServletRequest request,
                                   HttpServletResponse response,
                                   ActionForm form,
                                   ActionMapping mapping)
         throws ServletException

Overrides
  RequestProcessor.processPopulate(HttpServletRequest, HttpServletResponse, ActionForm, ActionMapping)

#### Exceptions

``ServletException``

### processRoles(HttpServletRequest, HttpServletResponse, ActionMapping) Method

    protected boolean processRoles(HttpServletRequest request,
                                   HttpServletResponse response,
                                   ActionMapping mapping)
         throws IOException, ServletException

Overrides
  RequestProcessor.processRoles(HttpServletRequest, HttpServletResponse, ActionMapping)

#### Exceptions

``IOException``
``ServletException``

### shouldDoSecureForwards() Method

    protected boolean shouldDoSecureForwards()

### superForward(String, HttpServletRequest, HttpServletResponse) Method

    protected void superForward(String uri,
                                HttpServletRequest request,
                                HttpServletResponse response)
         throws IOException, ServletException

#### Exceptions

``IOException``
``ServletException``