com.vaadin.client.communication
Class ServerRpcQueue

java.lang.Object
  extended by com.vaadin.client.communication.ServerRpcQueue

public class ServerRpcQueue
extends java.lang.Object

Manages the queue of server invocations (RPC) which are waiting to be sent to the server.

Since:
7.6
Author:
Vaadin Ltd

Field Summary
protected  ApplicationConnection connection
           
 
Constructor Summary
ServerRpcQueue()
           
 
Method Summary
 void add(com.vaadin.shared.communication.MethodInvocation invocation, boolean lastOnly)
          Adds an explicit RPC method invocation to the send queue.
 void clear()
          Clears the queue
 void flush()
          Triggers a send of server RPC and legacy variable changes to the server.
static ServerRpcQueue get(ApplicationConnection connection)
          Returns the server RPC queue for the given application
 java.util.Collection<com.vaadin.shared.communication.MethodInvocation> getAll()
          Returns a collection of all queued method invocations
 boolean isEmpty()
          Checks if the queue is empty
 boolean isFlushPending()
          Checks if a flush operation is pending
static boolean isJavascriptRpc(com.vaadin.shared.communication.MethodInvocation invocation)
          Checks if the given method invocation originates from Javascript
static boolean isLegacyVariableChange(com.vaadin.shared.communication.MethodInvocation invocation)
          Checks if the given method invocation represents a Vaadin 6 variable change
 void removeMatching(com.vaadin.shared.communication.MethodInvocation invocation)
          Removes any pending invocation of the given method from the queue
 void setConnection(ApplicationConnection connection)
          Sets the application connection this instance is connected to.
 boolean showLoadingIndicator()
          Checks if a loading indicator should be shown when the RPCs have been sent to the server and we are waiting for a response
 int size()
          Returns the current size of the queue
 elemental.json.JsonArray toJson()
          Returns the current invocations as JSON
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

connection

protected ApplicationConnection connection
Constructor Detail

ServerRpcQueue

public ServerRpcQueue()
Method Detail

setConnection

public void setConnection(ApplicationConnection connection)
Sets the application connection this instance is connected to. Called internally by the framework.

Parameters:
connection - the application connection this instance is connected to

removeMatching

public void removeMatching(com.vaadin.shared.communication.MethodInvocation invocation)
Removes any pending invocation of the given method from the queue

Parameters:
invocation - The invocation to remove

add

public void add(com.vaadin.shared.communication.MethodInvocation invocation,
                boolean lastOnly)
Adds an explicit RPC method invocation to the send queue.

Parameters:
invocation - RPC method invocation
delayed - false to trigger sending within a short time window (possibly combining subsequent calls to a single request), true to let the framework delay sending of RPC calls and variable changes until the next non-delayed change
lastOnly - true to remove all previously delayed invocations of the same method that were also enqueued with lastonly set to true. false to add invocation to the end of the queue without touching previously enqueued invocations.

getAll

public java.util.Collection<com.vaadin.shared.communication.MethodInvocation> getAll()
Returns a collection of all queued method invocations

The returned collection must not be modified in any way

Returns:
a collection of all queued method invocations

clear

public void clear()
Clears the queue


size

public int size()
Returns the current size of the queue

Returns:
the number of invocations in the queue

get

public static ServerRpcQueue get(ApplicationConnection connection)
Returns the server RPC queue for the given application

Parameters:
connection - the application connection which owns the queue
Returns:
the server rpc queue for the given application

isEmpty

public boolean isEmpty()
Checks if the queue is empty

Returns:
true if the queue is empty, false otherwise

flush

public void flush()
Triggers a send of server RPC and legacy variable changes to the server.


isFlushPending

public boolean isFlushPending()
Checks if a flush operation is pending

Returns:
true if a flush is pending, false otherwise

showLoadingIndicator

public boolean showLoadingIndicator()
Checks if a loading indicator should be shown when the RPCs have been sent to the server and we are waiting for a response

Returns:
true if a loading indicator should be shown, false otherwise

toJson

public elemental.json.JsonArray toJson()
Returns the current invocations as JSON

Returns:
the current invocations in a JSON format ready to be sent to the server

isJavascriptRpc

public static boolean isJavascriptRpc(com.vaadin.shared.communication.MethodInvocation invocation)
Checks if the given method invocation originates from Javascript

Parameters:
invocation - the invocation to check
Returns:
true if the method invocation originates from javascript, false otherwise

isLegacyVariableChange

public static boolean isLegacyVariableChange(com.vaadin.shared.communication.MethodInvocation invocation)
Checks if the given method invocation represents a Vaadin 6 variable change

Parameters:
invocation - the invocation to check
Returns:
true if the method invocation is a legacy variable change, false otherwise


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