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周りについてかこうと思います。
が、そのまえに仕事に戻ります。
MZ-1500とQD関連
-
MZ-1500のメンテとQuick Disk関係で少し手を動かしたのでメモを残します。
入手したまましばらく寝てたMZ-1500の動作確認をしたところ、想定通りQDが動作しません。ファミコンのディスクシステム同様にゴムの劣化だろうと思い情報を探したら、ありがたい先人のページ(MZ-1500
QDドライブの...
6 日前
0 件のコメント:
コメントを投稿