package be.selckin.swu.model; import org.apache.wicket.model.AbstractReadOnlyModel; import java.util.Arrays; import java.util.List; public class EnumListModel<T extends Enum<?>> extends AbstractReadOnlyModel<List<T>> { private final Class<T> clazz; public EnumListModel(Class<T> clazz) { this.clazz = clazz; } @Override public List<T> getObject() { return Arrays.asList(clazz.getEnumConstants()); } public static <T extends Enum<?>> EnumListModel<T> of(Class<T> clazz) { return new EnumListModel<T>(clazz); } }