Как создать и использовать универсальный компонент для перечислений в f: selectItems?
У меня есть общий класс с этой подписью:
public abstract class EnumListBean<E extends Enum<E>> {
public List<E> getEnumList() {
//implementation details
}
}
В настоящее время я должен определить пустой подкласс для доступа к свойству enumList для конкретного универсального параметра:
@ManagedBean
@ApplicationScoped
public class ItemRarityBean extends EnumListBean<Item.Rarity>{
}
Это позволяет получить доступ к свойству, например:
<f:selectItems value="#{itemRarityBean.enumList}" var="rarity"
itemLabel="#{rarity.readableName}" itemValue="#{rarity}" />
Мне интересно, действительно ли нужно объявлять производный бин, но не могу получить доступ к универсальному классу как к бину напрямую:
<f:selectItems value="#{enumListBean<Item.Rarity>.enumList}" var="rarity"
itemLabel="#{rarity.readableName}" itemValue="#{rarity}" />