Overview | Package | Class | Tree | Deprecated | Index | Help
| Spring Web Flow
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.springframework.webflow.engine.support
Class TransitionExecutingFlowExecutionExceptionHandler

    java.lang.Object
      org.springframework.webflow.engine.support.TransitionExecutingFlowExecutionExceptionHandler

All Implemented Interfaces:
  FlowExecutionExceptionHandler

    public class TransitionExecutingFlowExecutionExceptionHandler

extends java.lang.Object
implements FlowExecutionExceptionHandler

A flow execution exception handler that maps the occurrence of a specific type of exception to a transition to a new `State`.

The handled `FlowExecutionException` will be exposed in flash scope as `FLOW_EXECUTION_EXCEPTION_ATTRIBUTE`. The underlying root cause of that exception will be exposed in flash scope as `ROOT_CAUSE_EXCEPTION_ATTRIBUTE`.

Author:
  Keith Donald

Field Summary
`static java.lang.String` | `FLOW_EXECUTION_EXCEPTION_ATTRIBUTE` The name of the attribute to expose a handled exception under in flash scope ("flowExecutionException").
`static java.lang.String` | `ROOT_CAUSE_EXCEPTION_ATTRIBUTE` The name of the attribute to expose a root cause of a handled exception under in flash scope ("rootCauseException").

Constructor Summary
`TransitionExecutingFlowExecutionExceptionHandler()`

Method Summary
`TransitionExecutingFlowExecutionExceptionHandler` | `add(java.lang.Class exceptionClass, java.lang.String targetStateId)` Adds an exception-to-target state mapping to this handler.
`TransitionExecutingFlowExecutionExceptionHandler` | `add(java.lang.Class exceptionClass, TargetStateResolver targetStateResolver)` Adds a exception-to-target state resolver mapping to this handler.
`boolean` | `canHandle(FlowExecutionException e)` Can this handler handle the given exception?
`protected void` | `exposeException(RequestContext context, FlowExecutionException exception, java.lang.Throwable rootCause)` Exposes the given flow exception and root cause in flash scope to make them available for response rendering.
`ActionList` | `getActionList()` Returns the list of actions to execute when this handler handles an exception.
`protected TargetStateResolver` | `getTargetStateResolver(java.lang.Throwable e)` Find the mapped target state resolver for given exception.
`void` | `handle(FlowExecutionException exception, RequestControlContext context)` Handle the exception in the context of the current request.
`java.lang.String` | `toString()`

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

Field Detail

### FLOW_EXECUTION_EXCEPTION_ATTRIBUTE

    public static final java.lang.String FLOW_EXECUTION_EXCEPTION_ATTRIBUTE

  The name of the attribute to expose a handled exception under in flash scope ("flowExecutionException").

  See Also:
    Constant Field Values

### ROOT_CAUSE_EXCEPTION_ATTRIBUTE

    public static final java.lang.String ROOT_CAUSE_EXCEPTION_ATTRIBUTE

  The name of the attribute to expose a root cause of a handled exception under in flash scope ("rootCauseException").

  See Also:
    Constant Field Values

Constructor Detail

### TransitionExecutingFlowExecutionExceptionHandler

    public TransitionExecutingFlowExecutionExceptionHandler()

Method Detail

### add

    public TransitionExecutingFlowExecutionExceptionHandler add(java.lang.Class exceptionClass,
                                                                java.lang.String targetStateId)

  Adds an exception-to-target state mapping to this handler.

  Parameters:
    `exceptionClass` - the type of exception to map
    `targetStateId` - the id of the state to transition to if the specified type of exception is handled
  Returns:
    this handler, to allow for adding multiple mappings in a single statement

### add

    public TransitionExecutingFlowExecutionExceptionHandler add(java.lang.Class exceptionClass,
                                                                TargetStateResolver targetStateResolver)

  Adds a exception-to-target state resolver mapping to this handler.

  Parameters:
    `exceptionClass` - the type of exception to map
    `targetStateResolver` - the resolver to calculate the state to transition to if the specified type of exception is handled
  Returns:
    this handler, to allow for adding multiple mappings in a single statement

### getActionList

    public ActionList getActionList()

  Returns the list of actions to execute when this handler handles an exception. The returned list is mutable.

### canHandle

    public boolean canHandle(FlowExecutionException e)

  Description copied from interface: `FlowExecutionExceptionHandler`
  Can this handler handle the given exception?

  Specified by:
    `canHandle` in interface `FlowExecutionExceptionHandler`
  Parameters:
    `e` - the exception that occurred
  Returns:
    true if yes, false if no

### handle

    public void handle(FlowExecutionException exception,
                       RequestControlContext context)

  Description copied from interface: `FlowExecutionExceptionHandler`
  Handle the exception in the context of the current request. An implementation is expected to transition the flow to a state using `RequestControlContext.execute(Transition)`.

  Specified by:
    `handle` in interface `FlowExecutionExceptionHandler`
  Parameters:
    `exception` - the exception that occurred
    `context` - the execution control context for this request

### exposeException

    protected void exposeException(RequestContext context,
                                   FlowExecutionException exception,
                                   java.lang.Throwable rootCause)

  Exposes the given flow exception and root cause in flash scope to make them available for response rendering. Subclasses can override this if they want to expose the exceptions in a different way or do special processing before the exceptions are exposed.

  Parameters:
    `context` - the request control context
    `exception` - the exception being handled
    `rootCause` - root cause of the exception being handled (could be null)

### getTargetStateResolver

    protected TargetStateResolver getTargetStateResolver(java.lang.Throwable e)

  Find the mapped target state resolver for given exception. Returns `null` if no mapping can be found for given exception. Will try all exceptions in the exception cause chain.

### toString

    public java.lang.String toString()

  Overrides:
    `toString` in class `java.lang.Object`

Overview | Package | Class | Tree | Deprecated | Index | Help
| Spring Web Flow
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD