Re: define a set of constant
Daniel Pitts wrote:
More specifically, he should use a MyOption enum instead:
public enum MyOption {
FIRST_OPTION
("first friendly display")
{
@Override public void doSomething()
{
// FIRST_OPTION version
}
},
SECOND_OPTION
("second friendly display")
{
@Override public void doSomething()
{
// SECOND_OPTION version
}
},
;
private final String represen;
/**
* Constructor with String representation.
* @param rep String representation.
*/
MyOption( String rep )
{
this.represen = rep;
}
/**
* Obtain String representation.
* @return String representation.
*/
@Override public final String toString()
{
return this.represen;
}
/**
* Obtain ${type_name} value from String representation.
* @param rep String representation to convert.
* @return ${type_name} value matching argument, or {@code null} if
none.
*/
public static MyOption fromString( final String rep )
{
if ( rep == null )
{
return null;
}
for ( final ${type_name} val : values() )
{
if ( rep.equals( val.toString() ) )
{
return val;
}
}
return valueOf( rep );
}
/** Utility method performed by an enum instance
*/
abstract public void doSomething();
}
public class SomeOtherClass {
public void method(MyOption option) {
//...
}}
--
Lew