Class SequenceHandler

java.lang.Object
org.forgerock.openig.handler.SequenceHandler
All Implemented Interfaces:
Handler

public class SequenceHandler extends Object implements Handler
Processes a request through a sequence of handlers. This allows multi-request processing such as retrieving a form, extracting form content (e.g. nonce) and submitting in a subsequent request.
  • Constructor Details

    • SequenceHandler

      public SequenceHandler()
  • Method Details

    • addBinding

      public SequenceHandler addBinding(Handler handler, Expression<Boolean> postCondition)
      Binds sequenced handlers with sequence processing post-conditions.
      Parameters:
      handler - The name of the handler heap object to dispatch to if the associated condition yields true. (Never null).
      postCondition - evaluated to determine if sequence continues (null allowed as unconditional true)
      Returns:
      The current dispatch handler.
    • handle

      public Promise<Response,NeverThrowsException> handle(Context context, Request request)
      Description copied from interface: Handler
      Returns a Promise representing the asynchronous Response of the given request. If any (asynchronous) processing goes wrong, the promise still contains a Response (probably from the 4xx or 5xx status code family).

      A handler that doesn't hand-off the processing to another downstream handler is responsible for creating the response.

      The returned Promise contains the response returned from the server as-is. This is responsibility of the handler to produce the appropriate error response (404, 500, ...) in case of processing error.

      Note: As of Promise 2.0 implementation, it is not permitted to throw any runtime exception here. Doing so produce unexpected behaviour (most likely a server-side hang of the processing thread).

      Specified by:
      handle in interface Handler
      Parameters:
      context - The request context.
      request - The request.
      Returns:
      A Promise representing the response to be returned to the caller.