みなさん、良い一日を。Vaadin を使用していますが、BeanItemContainer で問題が発生しました。汎用インターフェースとそのインターフェースを実装する Bean があります
package ru.package.testpackage;
public class SomeTest {
interface SomeHavingId<T> {
T getId();
void setId(T id);
}
class TestBean implements SomeHavingId<Integer> {
public TestBean(Integer id) {
this.id = id;
}
@Override
public Integer getId() {
return id;
}
@Override
public void setId(Integer id) {
this.id = id;
}
private Integer id;
}
}
問題は、内部の Vaadin がsetter と getter を解析してプロパティ マップを作成するためにBeanItemContainer
使用することです。しかし、 aをIntrospector.getBeanInfo(TestBean.class)
解決する代わりに、. 私が見る限り、Introspector は実装されているインターフェイスを理解できません。Integer getId()
java.lang.Object getId()
SomeHavingId<Integer>
それが私の質問です-次の場合、正しいメソッド署名を取得するにはどうすればよいですか:
- その Bean のソース コードを変更することはできません
- Vaadin のソースコードを変更できません