既存のインターフェースに非常によく適合するメソッドシグネチャを持つサードパーティのBeanがいくつかありますが、インターフェースを実装していません。
今、私はこのようなことをしたいのですが、うまくいきません。いくつかの回避策はありますか?
someBean.setSomeInterface(
new Interface() extends SomeBeanThatMatchesAlotOfMethodsOfTheInterface {
});
既存のインターフェースに非常によく適合するメソッドシグネチャを持つサードパーティのBeanがいくつかありますが、インターフェースを実装していません。
今、私はこのようなことをしたいのですが、うまくいきません。いくつかの回避策はありますか?
someBean.setSomeInterface(
new Interface() extends SomeBeanThatMatchesAlotOfMethodsOfTheInterface {
});
これにはデコレータパターンを 使用できます
インターフェイスを実装するクラスを定義し、すべてのメソッド呼び出しで実装に委任しsomeBean
ます。
私はあなたができることは(あなたが上でしたように)彼らのクラスを拡張してから実装を言うことだけだと思います。
例えば。
public class MyImplementingClass extends SomeBeanThatMatchesAlotOfMethodsOfTheInterface implements MyInterface {
....
}
もちろん、彼らのコードをあなたのインターフェースに基づいていることによって、将来それが壊れる可能性があります。ただそれに注意してください。