I'm translating a Java (JDK 1.5) "enum" into Java ME (JDK 1.4).
Many people have suggested retroweaver to parse JDK 1.5 libraries to JDK 1.4 but I've got a lot of problems using it and I really want to get full control of my project due the HW limitations.
What's the best way to translate it or find an equivalent?
/**
Authentication enumerates the authentication levels.
*/
public enum Authentication
{
/**
No authentication is used.
*/
NONE,
/**
Low authentication is used.
*/
LOW,
/**
High authentication is used.
*/
HIGH,
/*
* High authentication is used. Password is hashed with MD5.
*/
HIGH_MD5,
/*
* High authentication is used. Password is hashed with SHA1.
*/
HIGH_SHA1,
/*
* High authentication is used. Password is hashed with GMAC.
*/
HIGH_GMAC;
/*
* Get integer value for enum.
*/
public int getValue()
{
return this.ordinal();
}
/*
* Convert integer for enum value.
*/
public static Authentication forValue(int value)
{
return values()[value];
}
}
This 1997 article shows how to create enumerated constands in Java.
The idea is to have a final class with a private constructor and public constants. The example used is:
public final class Color {
private String id;
public final int ord;
private static int upperBound = 0;
private Color(String anID) {
this.id = anID;
this.ord = upperBound++;
}
public String toString() {return this.id; }
public static int size() { return upperBound; }
public static final Color RED = new Color("Red");
public static final Color GREEN = new Color("Green");
public static final Color BLUE = new Color("Blue");
}