これが私が直面している問題です。
私はプラグインを書いています。SystemObjectというインターフェースと、デフォルトの getter があります。
public class MyPlugin extends Plugin {
@override
public SystemObject getSystemObject() {
return super.getSystemObject();
}
}
SystemObject インターフェイスには、プロキシまたはインターセプトしたい getScreenSize() というメソッドがあります。プロキシ クラスを作成するか、この SystemObject インターフェイスを自分で実装すると、クラス キャスト例外が発生します。
これは、getSystemObject (プラグイン システムの一部) の呼び出し元がコード内にこれを持っているためです (リバース エンジニアリングによって検出されます)。
private void foo() {
SystemObjectImpl impl = (SystemObjectImpl)plugin.getSystemObject();
}
私の質問は、SystemObject インターフェイスで呼び出しをプロキシできる方法はありますか?
インターフェイスを実装し、Java リフレクション プロキシ呼び出しを使用してみましたが、役に立ちませんでした。残念ながら、私は Java プロセスの実行を担当していないため、エージェントを使用できません。
乾杯!