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

public class FlowControllerFactory
extends `Object`

Factory for creating `FlowController```s - user `PageFlowController```s and Global.app.

Hierarchy
  `Object`
  `FlowControllerFactory`

## Constructor Summary

FlowControllerFactory()

## Method Summary

`public static `GlobalApp`` | `getGlobalApp`(`HttpServletRequest` request, `HttpServletResponse` response, `ServletContext` servletContext) Get or create the current user session's GlobalApp instance (from the Global.app file).
`public static `PageFlowController`` | `getPageFlow`(`String` jpfClassName, `HttpServletRequest` request, `HttpServletResponse` response, `ServletContext` servletContext) Get the `PageFlowController``` for the given type.
`public static `PageFlowController`` | `getPageFlowForRequest`(`HttpServletRequest` request, `HttpServletResponse` response, `ServletContext` context) Get the `PageFlowController``` instance that should be associated with the given request, based on the path of the request URI.
`public static `FlowController`` | `getPageFlowForURI`(`HttpServletRequest` request, `HttpServletResponse` response, `String` uri, `ServletContext` context) Get the `PageFlowController``` instance that should be associated with the given URI.

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

## Constructor Detail

### FlowControllerFactory

    public FlowControllerFactory()

## Method Detail

### getGlobalApp(HttpServletRequest, HttpServletResponse, ServletContext) Method

    public static GlobalApp getGlobalApp(HttpServletRequest request,
                                         HttpServletResponse response,
                                         ServletContext servletContext)

Get or create the current user session's GlobalApp instance (from the Global.app file).

#### Parameters

request
  the current HttpServletRequest.

#### Returns

the current session's GlobalApp instance, or a new one (based on Global.app) if none is found. If Global.app does not exist in the current webapp, `null` is returned.

### getPageFlow(String, HttpServletRequest, HttpServletResponse, ServletContext) Method

    public static PageFlowController getPageFlow(String jpfClassName,
                                                 HttpServletRequest request,
                                                 HttpServletResponse response,
                                                 ServletContext servletContext)

Get the `PageFlowController``` for the given type. The PageFlowController stack (for nesting) will be cleared or pushed, and the new instance will be stored as the current PageFlowController.

#### Parameters

jpfClassName
  the name of the desired PageFlowController class.

request
  the current HttpServletRequest.

#### Returns

the current user session's PageFlowController if it is of the requested type, or a newly-created one, or `null` if none could be found or created.

### getPageFlowForRequest(HttpServletRequest, HttpServletResponse, ServletContext) Method

    public static PageFlowController getPageFlowForRequest(HttpServletRequest request,
                                                           HttpServletResponse response,
                                                           ServletContext context)

Get the `PageFlowController``` instance that should be associated with the given request, based on the path of the request URI. If it doesn't exist, create it. The PageFlowController stack (for nesting) will be cleared or pushed, and the new instance will be stored as the current PageFlowController.

#### Parameters

request
  the current HttpServletRequest.

response
  the current ServletContext.

#### Returns

the PageFlowController for the request, or `null` if none was found and none could be created.

### getPageFlowForURI(HttpServletRequest, HttpServletResponse, String, ServletContext) Method

    public static FlowController getPageFlowForURI(HttpServletRequest request,
                                                   HttpServletResponse response,
                                                   String uri,
                                                   ServletContext context)

Get the `PageFlowController``` instance that should be associated with the given URI. If it doesn't exist, create it. The PageFlowController stack (for nesting) will be cleared or pushed, and the new instance will be stored as the current PageFlowController.

#### Parameters

request
  the current HttpServletRequest.

response
  the current HttpServletResponse.

uri
  the webapp-relative URI for the page flow.

context
  the current ServletContext.

#### Returns

the PageFlowController for the request, or `null` if none was found and none could be created.