Overview | Package | Class | Tree | Deprecated | Index | Help
| GWT 2.0.3
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.google.gwt.jsonp.client
Class JsonpRequestBuilder

    java.lang.Object
      com.google.gwt.jsonp.client.JsonpRequestBuilder

    public class JsonpRequestBuilder

extends java.lang.Object

Class to send cross domain requests to an http server. The server will receive a request including a callback url parameter, which should be used to return the response as following:

    <callback>(<json>);

where <callback> is the url parameter (see `setCallbackParam(String)`), and <json> is the response to the request in json format. This will result on the client to call the corresponding `AsyncCallback.onSuccess(Object)` method.

If needed, errors can be handled by a separate callback:

    <failureCallback>(<error>);

where <error> is a string containing an error message. This will result on the client to call the corresponding `AsyncCallback.onFailure(Throwable)` method. See `setFailureCallbackParam(String)`.

Example using JSON Google Calendar GData API:

     String url = "http://www.google.com/calendar/feeds/developer-calendar@google.com/public/full" +
         "?alt=json-in-script";
     JsonpRequestBuilder jsonp = new JsonpRequestBuilder();
     jsonp.requestObject(url,
         new AsyncCallback<Feed>() {
           public void onFailure(Throwable throwable) {
             Log.severe("Error: " + throwable);
           }

           public void onSuccess(Feed feed) {
             JsArray<Entry> entries = feed.getEntries();
             for (int i = 0; i < entries.length(); i++) {
               Entry entry = entries.get(i);
               Log.info(entry.getTitle() +
                        " (" + entry.getWhere() + "): " +
                        entry.getStartTime() + " -> " +
                        entry.getEndTime());
             }
           }
         });

This example uses these overlay types:

     class Entry extends JavaScriptObject {
       protected Entry() {}

       public final native String getTitle() /*-{
         return this.title.$t;
       }-*/;

       public final native String getWhere() /*-{
         return this.gd$where[0].valueString;
       }-*/;

       public final native String getStartTime() /*-{
         return this.gd$when ? this.gd$when[0].startTime : null;
       }-*/;

       public final native String getEndTime() /*-{
         return this.gd$when ? this.gd$when[0].endTime : null;
       }-*/;
     }

     class Feed extends JavaScriptObject {
       protected Feed() {}

       public final native JsArray<Entry> getEntries() /*-{
         return this.feed.entry;
       }-*/;
     }

Constructor Summary
`JsonpRequestBuilder()`

Method Summary
`java.lang.String` | `getCallbackParam()`
`java.lang.String` | `getFailureCallbackParam()`
`int` | `getTimeout()`
`JsonpRequest<java.lang.Boolean>` | `requestBoolean(java.lang.String url, AsyncCallback<java.lang.Boolean> callback)`
`JsonpRequest<java.lang.Double>` | `requestDouble(java.lang.String url, AsyncCallback<java.lang.Double> callback)`
`JsonpRequest<java.lang.Integer>` | `requestInteger(java.lang.String url, AsyncCallback<java.lang.Integer> callback)`
`
`<T extends JavaScriptObject> JsonpRequest<T>`
` | `requestObject(java.lang.String url, AsyncCallback<T> callback)` Sends a JSONP request and expects a JavaScript object as a result.
`JsonpRequest<java.lang.String>` | `requestString(java.lang.String url, AsyncCallback<java.lang.String> callback)`
`void` | `send(java.lang.String url)` Sends a JSONP request and does not expect any results.
`JsonpRequest<java.lang.Void>` | `send(java.lang.String url, AsyncCallback<java.lang.Void> callback)` Sends a JSONP request, does not expect any result, but still allows to be notified when the request has been executed on the server.
`void` | `setCallbackParam(java.lang.String callbackParam)`
`void` | `setFailureCallbackParam(java.lang.String failureCallbackParam)`
`void` | `setTimeout(int timeout)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### JsonpRequestBuilder

    public JsonpRequestBuilder()

Method Detail

### getCallbackParam

    public java.lang.String getCallbackParam()

  Returns:
    the name of the callback url parameter to send to the server. The default value is "callback".

### getFailureCallbackParam

    public java.lang.String getFailureCallbackParam()

  Returns:
    the name of the failure callback url parameter to send to the server. The default is null.

### getTimeout

    public int getTimeout()

  Returns:
    the expected timeout (ms) for this request.

### requestBoolean

    public JsonpRequest<java.lang.Boolean> requestBoolean(java.lang.String url,
                                                          AsyncCallback<java.lang.Boolean> callback)

### requestDouble

    public JsonpRequest<java.lang.Double> requestDouble(java.lang.String url,
                                                        AsyncCallback<java.lang.Double> callback)

### requestInteger

    public JsonpRequest<java.lang.Integer> requestInteger(java.lang.String url,
                                                          AsyncCallback<java.lang.Integer> callback)

### requestObject

    public <T extends JavaScriptObject> JsonpRequest<T> requestObject(java.lang.String url,
                                                                      AsyncCallback<T> callback)

  Sends a JSONP request and expects a JavaScript object as a result. The caller can either use `JSONObject` to parse it, or use a JavaScript overlay class.

### requestString

    public JsonpRequest<java.lang.String> requestString(java.lang.String url,
                                                        AsyncCallback<java.lang.String> callback)

### send

    public void send(java.lang.String url)

  Sends a JSONP request and does not expect any results.

### send

    public JsonpRequest<java.lang.Void> send(java.lang.String url,
                                             AsyncCallback<java.lang.Void> callback)

  Sends a JSONP request, does not expect any result, but still allows to be notified when the request has been executed on the server.

### setCallbackParam

    public void setCallbackParam(java.lang.String callbackParam)

  Parameters:
    `callbackParam` - The name of the callback url parameter to send to the server. The default value is "callback".

### setFailureCallbackParam

    public void setFailureCallbackParam(java.lang.String failureCallbackParam)

  Parameters:
    `failureCallbackParam` - The name of the failure callback url parameter to send to the server. The default is null.

### setTimeout

    public void setTimeout(int timeout)

  Parameters:
    `timeout` - The expected timeout (ms) for this request. The default is 10s.

Overview | Package | Class | Tree | Deprecated | Index | Help
| GWT 2.0.3
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD