BT

GoogleがGWTオーバーレイタイプを導入

| 作者: R.J. Lorimer フォローする 0 人のフォロワー , 翻訳者 編集部 フォローする 0 人のフォロワー 投稿日 2008年8月7日. 推定読書時間: 3 分 |
Google Web Toolkitチーム(リンク)は、「Getting to really know GWT」という題名の進行中のシリーズの一部として、GWTオーバーレイタイプの記事(リンク)を掲載した。
GWT 1.5はJavaScriptオーバーレイタイプを導入し、JavaScriptオブジェクトの全ファミリーをGWTプロジェクトへ統合しやすくしている。この技法には多くの利点がある。たとえば、型なしJavaScript?オブジェクトの作業をしているときでも、Java IDEのコードコンプリートやリファクタリング機能を使用することができる。
その記事は、JSONデータ向けのJava beanスタイルラッパーの作成方法を示している。
var jsonData = [
{ "FirstName" : "Jimmy", "LastName" : "Webber" },
{ "FirstName" : "Alan", "LastName" : "Dayal" },
{ "FirstName" : "Keanu", "LastName" : "Spoon" },
{ "FirstName" : "Emily", "LastName" : "Rudnick" }
];
対応するGWT JavaオブジェクトはJSNIメソッドコールを通常のJavaメソッドと結合し、内蔵ユーティリティーがある安全の型付きJavaオブジェクトを作成する。
class Customer extends JavaScriptObject {

// Overlay types always have protected, zero-arg ctors
protected Customer() { }

// Typically, methods on overlay types are JSNI
public final native String getFirstName() /*-{ return this.FirstName; }-*/;
public final native String getLastName() /*-{ return this.LastName; }-*/;

// Note, though, that methods aren't required to be JSNI
public final String getFullName() {
return getFirstName() + " " + getLastName();
}
}

class JsArray extends JavaScriptObject {
protected JsArray() { }
public final native int length() /*-{ return this.length; }-*/;
public final native E get(int i) /*-{ return this[i]; }-*/;
}
残りのステップは、JavascriptオブジェクトをJavaオブジェクトに変換 することで、変数の推論やその他のJSNIコールで実行される。
private final native JsArray getCustomers() /*-{
return $wnd.jsonData;
}-*/;

オーバーレイの機能性およびGWTコンパイラーで可能な最適化について詳しくは、オリジナルの記事(リンク)を参照すると良い。

原文はこちらです:   http://www.infoq.com/news/2008/08/gwt_overlay_types

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT