Vaadin フレームワークを使用しており、いくつかの動作をオーバーライドしたいと考えています。
問題は、フィールドのすべてのセッターに、呼び出したくない副作用があることです。
このため、private フィールドを直接設定したいと考えています。
これが私のコードです:
@Override
public void setItemDataSource(Item itemDataSource) {
//do some stuff
java.lang.reflect.Field privateField = this.getClass().getDeclaredField(itemDatasource); //Yes the spelling is correct.
privateField.set(this, itemDataSource); <<-- I get an error.
//do more stuff
次のエラーが表示されます。
//TODO: コピー ペースト エラー。
どうやらthis
、フィールドを変更する必要があるオブジェクトとして含めることは想定されていませんが、他の参照です。
私は何を間違っていますか?