aboutsummaryrefslogtreecommitdiffstats
path: root/src/com/vaadin/terminal/gwt/server/ClientMethodInvocation.java
diff options
context:
space:
mode:
authorArtur Signell <artur@vaadin.com>2012-04-16 16:35:12 +0300
committerArtur Signell <artur@vaadin.com>2012-04-18 23:08:54 +0300
commit5ad6dbae66d22e887ccdc4e31dde1781fc5255e6 (patch)
tree591b1e0b2ec544a13acb525118f9cfcb73280066 /src/com/vaadin/terminal/gwt/server/ClientMethodInvocation.java
parent0d95a362d9ee1a163affbbefb820ecdf75f21da0 (diff)
downloadvaadin-framework-5ad6dbae66d22e887ccdc4e31dde1781fc5255e6.tar.gz
vaadin-framework-5ad6dbae66d22e887ccdc4e31dde1781fc5255e6.zip
Use declared RPC parameter types (#8666)
Diffstat (limited to 'src/com/vaadin/terminal/gwt/server/ClientMethodInvocation.java')
-rw-r--r--src/com/vaadin/terminal/gwt/server/ClientMethodInvocation.java13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/com/vaadin/terminal/gwt/server/ClientMethodInvocation.java b/src/com/vaadin/terminal/gwt/server/ClientMethodInvocation.java
index 2edcb8a9f2..99633a13d6 100644
--- a/src/com/vaadin/terminal/gwt/server/ClientMethodInvocation.java
+++ b/src/com/vaadin/terminal/gwt/server/ClientMethodInvocation.java
@@ -5,6 +5,7 @@
package com.vaadin.terminal.gwt.server;
import java.io.Serializable;
+import java.lang.reflect.Method;
/**
* Internal class for keeping track of pending server to client method
@@ -18,21 +19,27 @@ public class ClientMethodInvocation implements Serializable,
private final String interfaceName;
private final String methodName;
private final Object[] parameters;
+ private Class<?>[] parameterTypes;
- // used for sorting calls between different Paintables in the same Root
+ // used for sorting calls between different connectors in the same Root
private final long sequenceNumber;
// TODO may cause problems when clustering etc.
private static long counter = 0;
public ClientMethodInvocation(ClientConnector connector,
- String interfaceName, String methodName, Object[] parameters) {
+ String interfaceName, Method method, Object[] parameters) {
this.connector = connector;
this.interfaceName = interfaceName;
- this.methodName = methodName;
+ methodName = method.getName();
+ parameterTypes = method.getParameterTypes();
this.parameters = (null != parameters) ? parameters : new Object[0];
sequenceNumber = ++counter;
}
+ public Class<?>[] getParameterTypes() {
+ return parameterTypes;
+ }
+
public ClientConnector getConnector() {
return connector;
}