
public static class JsonpRequestBuilder extends Object
<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;
}-*/;
}
Copyright © 2018. All rights reserved.