Package 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 ApplicationConnectionconnection
-
Constructor Summary
Constructors Constructor Description ServerRpcQueue()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(MethodInvocation invocation, boolean lastOnly)Adds an explicit RPC method invocation to the send queue.voidclear()Clears the queue.voidflush()Triggers a send of server RPC and legacy variable changes to the server.static ServerRpcQueueget(ApplicationConnection connection)Returns the server RPC queue for the given application.Collection<MethodInvocation>getAll()Returns a collection of all queued method invocations.booleanisEmpty()Checks if the queue is empty.booleanisFlushPending()Checks if a flush operation is pending.static booleanisJavascriptRpc(MethodInvocation invocation)Checks if the given method invocation originates from Javascript.static booleanisLegacyVariableChange(MethodInvocation invocation)Checks if the given method invocation represents a Vaadin 6 variable change.voidremoveMatching(MethodInvocation invocation)Removes any pending invocation of the given method from the queue.voidsetConnection(ApplicationConnection connection)Sets the application connection this instance is connected to.booleanshowLoadingIndicator()Checks if a loading indicator should be shown when the RPCs have been sent to the server and we are waiting for a response.intsize()Returns the current size of the queue.elemental.json.JsonArraytoJson()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-trueto remove all previously delayed invocations of the same method that were also enqueued with lastonly set totrue.falseto 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 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(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(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
-
-