プロパティ値を取得するたびに何らかのコードを実行する必要があるため、クラスで getProperty メソッドを定義するのは当然のことです。このメソッドは、プロパティ値が取得されるたびに自動的に呼び出されます。私のクラスで持っているものは大まかに次のとおりです。
class MyClass
{
def getProperty(String name)
{
// Run some code ...
return this.@"${name}"
}
}
上記の方法の問題は、誰かがどこかで次の呼び出しを行おうとしたときに発生します。
MyClass.class
この呼び出しは、「class」という名前のプロパティを探す getProperty メソッドで終了しますが、「class」という名前の実際のプロパティがないため、MissingFieldException が発生します。
プロパティ値が取得されるたびに実行コードを実装し、このような状況に対処する正しい方法は何でしょうか。