com.vaadin.server
Class SynchronizedRequestHandler

java.lang.Object
  extended by com.vaadin.server.SynchronizedRequestHandler
All Implemented Interfaces:
RequestHandler, java.io.Serializable
Direct Known Subclasses:
BootstrapHandler, HeartbeatHandler, PortletListenerNotifier, UidlRequestHandler, UIInitHandler, UnsupportedBrowserHandler

public abstract class SynchronizedRequestHandler
extends java.lang.Object
implements RequestHandler

RequestHandler which takes care of locking and unlocking of the VaadinSession automatically. The session is locked before synchronizedHandleRequest(VaadinSession, VaadinRequest, VaadinResponse) is called and unlocked after it has completed.

Since:
7.1
Version:
@VERSION@
Author:
Vaadin Ltd
See Also:
Serialized Form

Constructor Summary
SynchronizedRequestHandler()
           
 
Method Summary
 boolean handleRequest(VaadinSession session, VaadinRequest request, VaadinResponse response)
          Called when a request needs to be handled.
abstract  boolean synchronizedHandleRequest(VaadinSession session, VaadinRequest request, VaadinResponse response)
          Identical to handleRequest(VaadinSession, VaadinRequest, VaadinResponse) except the VaadinSession is locked before this is called and unlocked after this has completed.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SynchronizedRequestHandler

public SynchronizedRequestHandler()
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

synchronizedHandleRequest

public abstract boolean synchronizedHandleRequest(VaadinSession session,
                                                  VaadinRequest request,
                                                  VaadinResponse response)
                                           throws java.io.IOException
Identical to handleRequest(VaadinSession, VaadinRequest, VaadinResponse) except the VaadinSession is locked before this is called and unlocked after this has completed.

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
See Also:
handleRequest(VaadinSession, VaadinRequest, VaadinResponse)


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