com.vaadin.server.communication
Class UidlRequestHandler

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

public class UidlRequestHandler
extends SynchronizedRequestHandler
implements SessionExpiredHandler

Processes a UIDL request from the client. Uses ServerRpcHandler to execute client-to-server RPC invocations and UidlWriter to write state changes and client RPC calls back to the client.

Since:
7.1
Author:
Vaadin Ltd
See Also:
Serialized Form

Field Summary
static java.lang.String UIDL_PATH
           
 
Constructor Summary
UidlRequestHandler()
           
 
Method Summary
protected  boolean canHandleRequest(VaadinRequest request)
          Check whether a request may be handled by this handler.
protected  void closeJsonMessage(java.io.Writer outWriter)
           
 boolean handleSessionExpired(VaadinRequest request, VaadinResponse response)
          Called when the a session expiration has occured and a notification needs to be sent to the user.
protected  void openJsonMessage(java.io.Writer outWriter, VaadinResponse response)
          Writes the opening of JSON message to be sent to client.
 boolean synchronizedHandleRequest(VaadinSession session, VaadinRequest request, VaadinResponse response)
          Identical to SynchronizedRequestHandler.handleRequest(VaadinSession, VaadinRequest, VaadinResponse) except the VaadinSession is locked before this is called and unlocked after this has completed.
 
Methods inherited from class com.vaadin.server.SynchronizedRequestHandler
handleRequest
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.vaadin.server.RequestHandler
handleRequest
 

Field Detail

UIDL_PATH

public static final java.lang.String UIDL_PATH
See Also:
Constant Field Values
Constructor Detail

UidlRequestHandler

public UidlRequestHandler()
Method Detail

canHandleRequest

protected boolean canHandleRequest(VaadinRequest request)
Description copied from class: SynchronizedRequestHandler
Check whether a request may be handled by this handler. This can be used as an optimization to avoid locking the session just to investigate some method property. The default implementation just returns true which means that all requests will be handled by calling SynchronizedRequestHandler.synchronizedHandleRequest(VaadinSession, VaadinRequest, VaadinResponse) with the session locked.

Overrides:
canHandleRequest in class SynchronizedRequestHandler
Parameters:
request - the request to handle
Returns:
true if the request handling should continue once the session has been locked; false if there's no need to lock the session since the request would still not be handled.

synchronizedHandleRequest

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

Specified by:
synchronizedHandleRequest in class SynchronizedRequestHandler
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:
SynchronizedRequestHandler.handleRequest(VaadinSession, VaadinRequest, VaadinResponse)

closeJsonMessage

protected void closeJsonMessage(java.io.Writer outWriter)
                         throws java.io.IOException
Throws:
java.io.IOException

openJsonMessage

protected void openJsonMessage(java.io.Writer outWriter,
                               VaadinResponse response)
                        throws java.io.IOException
Writes the opening of JSON message to be sent to client.

Parameters:
outWriter -
response -
Throws:
java.io.IOException

handleSessionExpired

public boolean handleSessionExpired(VaadinRequest request,
                                    VaadinResponse response)
                             throws java.io.IOException
Description copied from interface: SessionExpiredHandler
Called when the a session expiration has occured and a notification needs to be sent to the user. If a response is written, this method should return true to indicate that no more SessionExpiredHandler handlers should be invoked for the request.

Specified by:
handleSessionExpired in interface SessionExpiredHandler
Parameters:
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.