Javaのリフレクション
extends, extendsと継承が繰り返されているクラス群の最深部のAbstractなクラスのソース見たら、俺が使いたいメソッドがprotectedになっててくじけそうになった。別に悪さしやしないからpublicにしといてくれよパパ。大人の事情によりそのクラスはもう変更できない。しょうがないから継承関係の中間あたりにいるクラスをさらに継承するクラスをつくって目的のやつと同じメソッド名で自前でオーバーライドしてやろうかと思ったけど、そうするとクラス名が変わるわけで、それを使ってる他のクラスも少し書き変えなきゃならないかもしんない。いやだ。影響範囲を調べるほんの少しの気力が出ない。ああいやだ。しょうがないからリフレクションAPI使ってmethod.setAccessible(true)とかやって目的のメソッドに強引にアクセスしてオブジェクトを引きずりだしてみたら、同じクラスなんだけどインスタンス(実体)として別になっちゃってるらしくて中身が空に近い。あーもうリフレクションよくわかんないよ。Seasar2がHotDeployなせいかなと思ってCoolDeployにしてみたんだけど現象変わらず。seasar2のBeanDescとか使えばいいって話のか?ああもうよくわからん。リフレクションの使い方自体を微妙に間違えているのはわかっているよハニー。でも男には行かなきゃならない時もあるのさ。
とにかく、何を言ってるのかわからんと思うが俺もよくわからん。酒飲んで寝よう。おまえJavaわかってねーだろというツッコミは甘んじて受ける。なにより最新のAPIについていけてないオレって化石。

コメントする
(初めてのコメントの時は、コメントが表示されるためにこのブログのオーナーの承認が必要になることがあります。承認されるまでコメントは表示されませんのでしばらくお待ちください)