Hi,
I have defined my Enums like this.
public enum UserType {
    RESELLER("Reseller"),
    SERVICE_MANAGER("Manager"),
    HOST("Host");
    private String name;
    private UserType(String name) {
        this.name = name;
    }
    public String getName() {
        return name;
    }
}
What should be the easiest way to get a key-value pair form the enum values?
The output map i want to create should be like this
key   = Enum(example:- HOST)
value = Host
The map I want do define is
Map<String, String> constansts = new HashMap<String, String>();
Ans: What I Did
I have created a Generic Method to access any enum and change values from that to a Map. I got this IDEA, form a code fragment found at here in any other thread.
public static <T extends Enum<T>> Map<String, String> getConstantMap(
        Class<T> klass) {
    Map<String, String> vals = new HashMap<String, String>(0);
    try {
        Method m = klass.getMethod("values", null);
        Object obj = m.invoke(null, null);
        for (Enum<T> enumval : (Enum<T>[]) obj) {
            vals.put(enumval.name(), enumval.toString());
        }
    } catch (Exception ex) {
        // shouldn't happen...
    }
    return vals;
}
Now, After this all I have to do is call this method with all the enum constructs and i am Done.
One More thing
To get This done i have to orverride the toString Method like this
    public String toString() {
        return name;
    }
Thanks.