Jak utworzyć i użyć generycznego komponentu bean dla wyliczeń w f: selectItems?

Mam klasę ogólną z tym podpisem:

public abstract class EnumListBean<E extends Enum<E>> {

    public List<E> getEnumList() {
        //implementation details
    }

}

Obecnie muszę zdefiniować pustą podklasę, aby uzyskać dostęp do właściwości enumList konkretnego parametru ogólnego:

@ManagedBean
@ApplicationScoped
public class ItemRarityBean  extends EnumListBean<Item.Rarity>{
}

Umożliwia to dostęp do nieruchomości, np .:

<f:selectItems value="#{itemRarityBean.enumList}" var="rarity"
            itemLabel="#{rarity.readableName}" itemValue="#{rarity}" />

Zastanawiam się, czy naprawdę trzeba zadeklarować pochodną fasolę, ale nie mogę uzyskać dostępu do klasy ogólnej jako bezpośrednio do fasoli:

<f:selectItems value="#{enumListBean<Item.Rarity>.enumList}" var="rarity"
                itemLabel="#{rarity.readableName}" itemValue="#{rarity}" />

questionAnswers(2)

yourAnswerToTheQuestion