A quick example of declaring an enum type and using it as a parameter in a Tapestry component.
Declaring the enum type
public enum Day { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY }
Declaring the enum parameter in a component class
@Parameter private Day day;
Adding the String To Enum type coercion
In order to use literal string values for your enum parameter in your component, add a coercion from String to your enum class by adding the following code to your module class
public static void contributeTypeCoercer(Configuration<CoercionTuple> configuration) { configuration.add(new CoercionTuple<String, Day>( String.class, Day.class, StringToEnumCoercion.create(Day.class) )); }
Passing a literal string value to your enum parameter
<t:mycomponent day="literal:WEDNESDAY" />