scala からグルーヴィーなスクリプトを動的に実行しています。また、setProperty() を介して groovy スクリプトに渡されるクラスのインスタンスがいくつかあります。たとえば、TestA という名前のクラスがあり、クラス TestB がクラス TestA を継承しているとします。そして、クラス B のインスタンスをこのような groovy スクリプトに渡しています
setProperty("testB", testB) // testB is an instance of class TestB
groovy スクリプトを実行すると、TestB で宣言された変数にアクセスできます。しかし、TestBのスーパークラスであるTestAの変数にアクセスしようとすると、groovyは「クラスにそのようなプロパティはありません」というエラーを出します。
特定のインスタンスから TestA と TestB の両方のメソッドを呼び出すことができます。したがって、setter と getter を記述するだけで、TestA の変数にアクセスできますが、そうしたくありません。
セッター/ゲッターを使用せずにTestAの変数にアクセスする方法はありますか? Expandoなどを使用するのが好きですか?