Groovy 2.0 (ベータ版) の使用....
単純な (つまり、プリミティブ) プロパティと複雑な (つまり、子としての他の Bean) プロパティの両方を持つ Bean を取得しました。プロパティを Bean インスタンスから新しい Bean に再帰的にコピーし、プロパティごとに関数呼び出しを適用したい。たとえば、プロパティに式 (つまり、評価されていない値を表すもの) が含まれている可能性があり、「クローン」/「コピー」フェーズ中に評価を適用して、新しい Bean が具体的な値を取得するようにします。
Groovy は初めてで、これを処理する簡単な方法があることを胃が教えてくれます。Bean は Groovy で記述されています。
例えば:
Source.name: '${xpath:applicationServer/name}'
Source.type: 'Server'
Source.create.name: 'com.bea:Name=${domain.name},Type=Domain'
....
name、typeフィールドは Source クラスの単純な部分ですが、createは複雑です (ネストされたプロパティ)。コピーするときに変数を評価したい (つまり、${xpath:...}、${domain.name} コンテキスト、コモンズ構成の設定に基づく)。コピーは同じクラスのオブジェクト間で行われることに注意してください。
次のようなものが見られます:異なるクラス間の交差が行われるが、ネストされたプロパティの構築が再帰的ではないGroovy クラス プロパティをコピーします。