Assuming that I have a basic enum like:

public enum Color { Red, Green, Blue}

How can one write a generic class which only accepts "enum classes" so that a concrete instantiation of that generic class might look like MyClass<Color>?

Edit:

What a actually want to do is to write a generic abstract class containing a function returning all enum "entries" as list:

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

    public List<E> getEnumList() {
        return Arrays.asList(E.values());
    }

}

While Day.values() is available E.values() is not. What i am doing wrong here?

Edit
Report