com.vaadin.server.communication
Class UIInitHandler

java.lang.Object
  extended by com.vaadin.server.SynchronizedRequestHandler
      extended by com.vaadin.server.communication.UIInitHandler
All Implemented Interfaces:
RequestHandler, java.io.Serializable
Direct Known Subclasses:
PortletUIInitHandler, ServletUIInitHandler

public abstract class UIInitHandler
extends SynchronizedRequestHandler

Handles an initial request from the client to initialize a UI.

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

Field Summary
static java.lang.String BROWSER_DETAILS_PARAMETER
           
 
Constructor Summary
UIInitHandler()
           
 
Method Summary
protected  boolean canHandleRequest(VaadinRequest request)
          Check whether a request may be handled by this handler.
protected  java.lang.String getEmbedId(VaadinRequest request)
          Constructs an embed id based on information in the request.
protected  java.lang.String getInitialUidl(VaadinRequest request, UI uI)
          Generates the initial UIDL message that can e.g.
protected abstract  boolean isInitRequest(VaadinRequest request)
           
 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
 

Field Detail

BROWSER_DETAILS_PARAMETER

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

UIInitHandler

public UIInitHandler()
Method Detail

isInitRequest

protected abstract boolean isInitRequest(VaadinRequest request)

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)

getEmbedId

protected java.lang.String getEmbedId(VaadinRequest request)
Constructs an embed id based on information in the request.

Parameters:
request - the request to get embed information from
Returns:
the embed id, or null if id is not available.
Since:
7.2
See Also:
UI.getEmbedId()

getInitialUidl

protected java.lang.String getInitialUidl(VaadinRequest request,
                                          UI uI)
                                   throws org.json.JSONException,
                                          java.io.IOException
Generates the initial UIDL message that can e.g. be included in a html page to avoid a separate round trip just for getting the UIDL.

Parameters:
request - the request that caused the initialization
uI - the UI for which the UIDL should be generated
Returns:
a string with the initial UIDL message
Throws:
org.json.JSONException - if an exception occurs while encoding output
java.io.IOException


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