GWT 2.7.0

com.google.gwt.jsonp.client
Class JsonpRequestBuilder

java.lang.Object
  extended by 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()
          Returns the name of the callback url parameter to send to the server.
 java.lang.String getFailureCallbackParam()
          Returns the name of the failure callback url parameter to send to the server.
 int getTimeout()
          Returns the expected timeout (ms) for this request.
 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 setPredeterminedId(java.lang.String id)
           
 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.

setPredeterminedId

public void setPredeterminedId(java.lang.String id)

setTimeout

public void setTimeout(int timeout)
Parameters:
timeout - The expected timeout (ms) for this request. The default is 10s.

GWT 2.7.0