1

みなさん、良い一日を。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>

それが私の質問です-次の場合、正しいメソッド署名を取得するにはどうすればよいですか:

  1. その Bean のソース コードを変更することはできません
  2. Vaadin のソースコードを変更できません
4

0 に答える 0