GAEにてGoogleのログイン関係の操作を行う際に、
UserServiceインタフェースを使用します。
例えばGoogleアカウントのニックネームを使用する場合は、
UserService userService = UserServiceFactory.getUserService();
User user = userService.getCurrentUser();
if (user != null) {
resp.setContentType("text/plain");
resp.getWriter().println("Hello, " + user.getNickname());
} else {
resp.sendRedirect(userService.createLoginURL(req.getRequestURI()));
}
こんな感じで記述します。まぁGoogleのGAEスタートアップの
コードそのまんまなんですが。
で、ちょっと気になったのがここ。
>>UserServiceFactory.getUserService();
ファクトリクラス使ってオブジェクトを生成してるよう。
という事は何らかの条件によって生成されるUserServiceの
実装クラスが変わるのか・・・?
なんとなく気になったので調べてみました。
早速appengine-api-1.0-sdk-1.3.1.jarを解凍して
UserServiceFactory.classをJADで逆コンパイルした結果……!
return new UserServiceImpl();
実装クラスをnewしてるだけだったーー!
…という訳で特に条件分岐とかはしていませんでした。
まぁいつでも切り替えられるようにという意味では
確かにこういう作りにしておくのが安牌なのでしょうね。
勉強になります。
無駄に気になった疑問は解消されたので、
今度はログインURL周りについてかこうと思います。
が、そのまえに仕事に戻ります。
Generative MV
-
ICCでやってた坂本龍一トリビュート展、お友達と見に行った時の感想の中で特に印象に残ってた〈Generative
MV〉について、今通ってる芸術大学のレポート題材にして書いたのでここにも載せときます。本来は映画等の映像作品を題材にする事が期待されてたので、インタラクティブなインスタレーション作品を対象として...
5 か月前
0 件のコメント:
コメントを投稿