GroovyObjectSupportを読んでみた
GroovyObjectSupport (Groovy 2.2.1)
コンストラクタ内でInvokerHelper#getMetaClass をコールしてフィールドのmetaClassを初期化しています。
get/setPropertyはフィールドのmetaClassを介して呼んでいて、metaClass自体はget/setMetaClassで取得/変更が出来るけど、metaClassがnullの場合はInvokerHelper#getMetaClassで再度初期化してからreturnしています。
invokeMethodもこのmetaClassに対して
getMetaClass().invokeMethod(this, name, args); // nameはString、argsはObject[]
とコールしています。
- 作者: 関谷和愛,上原潤二,須江信洋,中野靖治
- 出版社/メーカー: 技術評論社
- 発売日: 2011/07/06
- メディア: 単行本(ソフトカバー)
- 購入: 6人 クリック: 392回
- この商品を含むブログ (155件) を見る