summaryrefslogtreecommitdiffstats
path: root/documentation/gwt/gwt-rpc.asciidoc
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/gwt/gwt-rpc.asciidoc')
-rw-r--r--documentation/gwt/gwt-rpc.asciidoc112
1 files changed, 0 insertions, 112 deletions
diff --git a/documentation/gwt/gwt-rpc.asciidoc b/documentation/gwt/gwt-rpc.asciidoc
deleted file mode 100644
index b67773dbfe..0000000000
--- a/documentation/gwt/gwt-rpc.asciidoc
+++ /dev/null
@@ -1,112 +0,0 @@
----
-title: RPC Calls Between Client- and Server-Side
-order: 6
-layout: page
----
-
-[[gwt.rpc]]
-= RPC Calls Between Client- and Server-Side
-
-Vaadin supports making Remote Procedure Calls (RPC) between a server-side
-component and its client-side widget counterpart. RPC calls are normally used
-for communicating stateless events, such as button clicks or other user
-interaction, in contrast to changing the shared state. Either party can make an
-RPC call to the other side. When a client-side widget makes a call, a server
-request is made. Calls made from the server-side to the client-side are
-communicated in the response of the server request during which the call was
-made.
-
-If you use Eclipse and enable the "Full-Fledged" widget in the New Vaadin Widget
-wizard, it automatically creates a component with an RPC stub.
-
-[[gwt.rpc.server-side]]
-== RPC Calls to the Server-Side
-
-RPC calls from the client-side to the server-side are made through an RPC
-interface that extends the [interfacename]#ServerRpc# interface. A server RPC
-interface simply defines any methods that can be called through the interface.
-
-For example:
-
-
-----
-public interface MyComponentServerRpc extends ServerRpc {
- public void clicked(String buttonName);
-}
-----
-
-The above example defines a single [methodname]#clicks()# RPC call, which takes
-a [classname]#MouseEventDetails# object as the parameter.
-
-You can pass the most common standard Java types, such as primitive and boxed
-primitive types, [classname]#String#, and arrays and some collections (
-[classname]#List#, [classname]#Set#, and [classname]#Map#) of the supported
-types. Also the Vaadin [classname]#Connector# and some special internal types
-can be passed.
-
-An RPC method must return void - the widget set compiler should complain if it
-doesn't.
-
-[[gwt.rpc.server-side.calling]]
-=== Making a Call
-
-Before making a call, you need to instantiate the server RPC object with
-[methodname]#RpcProxy.create()#. After that, you can make calls through the
-server RPC interface that you defined, for example as follows:
-
-
-----
-@Connect(MyComponent.class)
-public class MyComponentConnector
- extends AbstractComponentConnector {
-
- public MyComponentConnector() {
- getWidget().addClickHandler(new ClickHandler() {
- public void onClick(ClickEvent event) {
- final MouseEventDetails mouseDetails =
- MouseEventDetailsBuilder
- .buildMouseEventDetails(
- event.getNativeEvent(),
- getWidget().getElement());
- MyComponentServerRpc rpc =
- getRpcProxy(MyComponentServerRpc.class);
-
- // Make the call
- rpc.clicked(mouseDetails.getButtonName());
- }
- });
- }
-}
-----
-
-
-[[gwt.rpc.server-side.handling]]
-=== Handling a Call
-
-RPC calls are handled in a server-side implementation of the server RPC
-interface. The call and its parameters are serialized and passed to the server
-in an RPC request transparently.
-
-
-----
-public class MyComponent extends AbstractComponent {
- private MyComponentServerRpc rpc =
- new MyComponentServerRpc() {
- private int clickCount = 0;
-
- public void clicked(String buttonName) {
- Notification.show("Clicked " + buttonName);
- }
- };
-
- public MyComponent() {
- ...
- registerRpc(rpc);
- }
-}
-----
-
-
-
-
-