com.vaadin.client.communication.
Class ServerRpcQueue
- java.lang.Object
-
- com.vaadin.client.communication.ServerRpcQueue
-
public class ServerRpcQueue extends 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
Fields Modifier and Type Field Description protected ApplicationConnection
connection
-
Constructor Summary
Constructors Constructor Description ServerRpcQueue()
-
Method Summary
All Methods Modifier and Type Method Description void
add(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.
Collection<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(MethodInvocation invocation)
Checks if the given method invocation originates from Javascript.
static boolean
isLegacyVariableChange(MethodInvocation invocation)
Checks if the given method invocation represents a Vaadin 6 variable change.
void
removeMatching(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.
-
-
-
Field Detail
-
connection
protected ApplicationConnection connection
-
-
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(MethodInvocation invocation)
Removes any pending invocation of the given method from the queue.
Parameters:
invocation
- The invocation to remove
-
add
public void add(MethodInvocation invocation, boolean lastOnly)
Adds an explicit RPC method invocation to the send queue.
Parameters:
invocation
- RPC method invocationlastOnly
-true
to remove all previously delayed invocations of the same method that were also enqueued with lastonly set totrue
.false
to add invocation to the end of the queue without touching previously enqueued invocations.
-
getAll
public Collection<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 queueReturns:
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(MethodInvocation invocation)
Checks if the given method invocation originates from Javascript.
Parameters:
invocation
- the invocation to checkReturns:
true if the method invocation originates from javascript, false otherwise
-
isLegacyVariableChange
public static boolean isLegacyVariableChange(MethodInvocation invocation)
Checks if the given method invocation represents a Vaadin 6 variable change.
Parameters:
invocation
- the invocation to checkReturns:
true if the method invocation is a legacy variable change, false otherwise
-
-