2012-03-23 9 views
1

メソッドシグニチャを持つサードパーティのBeanは、既存のインターフェイスに非常によく適合しますが、インターフェイスを実装していません。匿名クラスによるサードパーティクラスのJava強制インターフェイス

今、このようなことをしたいと思いますが、これはうまくいきません。いくつかの回避策がありますか?

someBean.setSomeInterface(
     new Interface() extends SomeBeanThatMatchesAlotOfMethodsOfTheInterface { 
    }); 
+1

アダプターパターンはどうですか? http://en.wikipedia.org/wiki/Adapter_pattern – ftr

答えて

2

あなたはこの

はあなたのインターフェイスを実装し、すべての方法でsomeBean実装にデリゲートを呼び出すクラスを定義するためのdecoratorパターンを使用することができます。

1

あなたができることは、あなたのクラスを拡張して(あなたが上で行ったように)実装していると思います。

例:

public class MyImplementingClass extends SomeBeanThatMatchesAlotOfMethodsOfTheInterface implements MyInterface { 

.... 
} 

もちろん、あなたのインターフェイスにコードを置くことで、将来的に破損する可能性があります。それだけに気をつけてください。

関連する問題