com.vaadin.server.communication
Class SessionRequestHandler

java.lang.Object
  extended by com.vaadin.server.communication.SessionRequestHandler
All Implemented Interfaces:
RequestHandler, java.io.Serializable

public class SessionRequestHandler
extends java.lang.Object
implements RequestHandler

Handles a request by passing it to each registered RequestHandler in the session in turn until one produces a response. This method is used for requests that have not been handled by any specific functionality in the servlet/portlet.

The request handlers are invoked in the reverse order in which they were added to the session until a response has been produced. This means that the most recently added handler is used first and the first request handler that was added to the session is invoked towards the end unless any previous handler has already produced a response.

The session is not locked during execution of the request handlers. The request handler can itself decide if it needs to lock the session or not.

Since:
7.1
See Also:
VaadinSession.addRequestHandler(RequestHandler), RequestHandler, Serialized Form

Constructor Summary
SessionRequestHandler()
           
 
Method Summary
 boolean handleRequest(VaadinSession session, VaadinRequest request, VaadinResponse response)
          Called when a request needs to be handled.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SessionRequestHandler

public SessionRequestHandler()
Method Detail

handleRequest

public boolean handleRequest(VaadinSession session,
                             VaadinRequest request,
                             VaadinResponse response)
                      throws java.io.IOException
Description copied from interface: RequestHandler
Called when a request needs to be handled. If a response is written, this method should return true to indicate that no more request handlers should be invoked for the request.

Note that request handlers by default do not lock the session. If you are using VaadinSession or anything inside the VaadinSession you must ensure the session is locked. This can be done by extending SynchronizedRequestHandler or by using VaadinSession.accessSynchronously(Runnable) or UI.accessSynchronously(Runnable).

Specified by:
handleRequest in interface RequestHandler
Parameters:
session - The session for the request
request - The request to handle
response - The response object to which a response can be written.
Returns:
true if a response has been written and no further request handlers should be called, otherwise false
Throws:
java.io.IOException - If an IO error occurred


Copyright © 2000-2014 Vaadin Ltd. All Rights Reserved.