Javassistを使った動的プロキシの作成

· Java

前回の「 [動的プロキシとシリアライズ](http://www.eisbahn.jp/yoichiro/2007/04/post141.html)」エントリで紹介した通り,今回はその第一歩として,Javassistを使って動的プロキシを作成するための方法を紹介してみようと思う。 [Javassist](http://www.csg.is.titech.ac.jp/~chiba/javassist/)は,動的プロキシを作成するためのライブラリというよりは,バイトコードを操作するためのライブラリで…

Read more →

動的プロキシとシリアライズ

· Java

一般的なDIコンテナに大抵標準装備されている機能に,AOPがある。例えば,あるオブジェクトのあるメソッドが呼び出された際に,そのメソッドを処理する前に何らかの処理を挟み込む,などがAOPである。この機構を実現するためには,動的プロキシと呼ばれる機能が必要となる。 デザインパターンのProxyパターンは,あるオブジェクトと同等のインタフェースを持つProxyクラスを作成し,そのProxyクラスの中から本来のオブジェクトを呼びだすようにする。クライアントは本来のオブジェクトを触っている感覚なのだが,…

Read more →

替わりのオブジェクトをシリアライズするwriteReplace()/readResolve()

· Java

今回は「 [動的プロキシとシリアライズ](http://www.eisbahn.jp/yoichiro/2007/04/post141.html)」エントリで取り上げた通り,writeReplace()メソッドとreadResolve()メソッドの使い方について紹介してみようと思う。 あるオブジェクトをシリアライズしたくなったとする。しかし,時として,そのオブジェクトをそのままシリアライズすることができない理由が出てきたりする。そのままシリアライズしてしまうとサイズが非常に大きくなってしまう,…

Read more →

第1回java-jaミーティング大成功!

· java-ja

4月13日の金曜日, [java-ja](http://java-ja.yoshiori.org/)の [第1回ミーティング](http://java-ja.yoshiori.org/index.php?%E7%AC%AC%E4%B8%80%E5%9B%9E)が行われた。下はその様子。実際にはもう少し人が増えて,20人近い人に来ていただいた。ちなみに,幽霊のような残像が,java-ja発起人の [yoshiori](http://yoshiori.org/blog/)さん。 ![java-m1…

Read more →

天使やカイザーの次は・・・

· Other

まさか「ラオウ」とは・・(w 「 [Java-jaミーティングに行ってきました](http://d.hatena.ne.jp/tonocchi/20070413/1176484125)」- じゃばてな 生産性低下の神様は私の中では身長185センチ、体重90キロ、というのを想像していましたごめんなさい。どういうわけか世紀末覇者的な方かと思っていましたごめんなさい。 [Biographyのページ](http://www.eisbahn.jp/yoichiro/2005/03/post11.ht…

Read more →

今週は海外に行ってきます

· Other

2日から6日まで,新婚旅行でケアンズ(オーストラリア)に行ってくる。ほぼ全員に, 「PCを持って行く」=「成田離婚」 と言われているが,そう言われると余計に持っていきたくなるのが男というもの。ま,飛行機の中とか空港での待ち時間とかいろいろとあるので。 ホテルの部屋はネットが使えるらしいしかし,ネットにつなぐのが夜になるのは確実。すぐに返事を返すのは無理だが,何かあればメールをしておいて欲しい。海を見ながらOSSのコーディングをしたいが,うーん,それこそ離婚になってしまうので,自粛予定。 お土産ご…

Read more →

lingrclipseのちょこっとした機能拡張

· Eclipse

LingrをEclipse上で使用できるようになる [Lingrclipse](http://www.eisbahn.jp/yoichiro/2007/03/lingrclipse.html)に,以下のちょこっとした機能拡張を施した。 入室時のパスワード指定。 メッセージの「画像表示」「YouTube表示」「リンク表示」「顔文字表示」に対応。 開発時には外部に漏らしたくないことを話すこともあるだろう。ま,Lingr自体そういった機密情報の話に向いているかというと非常に疑問だが,例えば仲間…

Read more →

次期S2Wicketではこうなります Part2

· Wicket

[前のエントリ](http://www.eisbahn.jp/yoichiro/2007/03/s2wicket.html)で, [S2Wicket](http://s2wicket.sandbox.seasar.org/)の今後の方向性として,以下のコードを示した。 public class HelloWorldPage extends WebPage { @WicketModel private LabelModel helloModel; @WicketComponent private…

Read more →

インスタンスフィールドが勝手に上書きされる!?

· Java

さて,以下の抽象クラスがあったとする。これは,コンストラクタの中からfoo()メソッドを呼び出すが,foo()メソッドはサブクラスで実装を提供することを意味している。 abstract class C1 { C1() { foo(); } abstract void foo(); } そして,上記のクラスを継承した下記のクラスがあったとする。ここでは,インスタンスフィールドvalueを宣言し,宣言と同時に値1を代入するように記述している。コンストラクタ内でvalue値を表示し,foo()メソ…

Read more →

Lingrclipseに通知機能を追加しました

· Eclipse

[Lingrclipse](http://www.eisbahn.jp/yoichiro/2007/03/lingrclipse.html)に,通知機能を追加してみた。新しいバージョンは,lingrclipse-view 1.3.0である。 通知機能とは何かと言うと,Lingrclipseのビューが隠れていた時,例えばFast Viewにしていたとか,他のビューをアクティブにしていたときとかに,入室したルームで誰かが発言をしたことがわかるようにした,ということである。 具体的には,Eclipse…

Read more →