EnumeratedTypeConverter.java
package sk.iway.iwcm.components.news;
import java.util.Collection;
import java.util.Locale;
import net.sourceforge.stripes.validation.ScopedLocalizableError;
import net.sourceforge.stripes.validation.TypeConverter;
import net.sourceforge.stripes.validation.ValidationError;
@SuppressWarnings("rawtypes")
public class EnumeratedTypeConverter implements TypeConverter<Enum> {
/**
* Does nothing at present due to the fact that enumerated types don't support localization
* all that well.
*/
@Override
public void setLocale(Locale locale) {
// Do nothing
}
@SuppressWarnings("unchecked")
@Override
public Enum convert(String input, Class<? extends Enum> targetType, Collection<ValidationError> errors) {
try
{
return Enum.valueOf(targetType, input.toUpperCase());
}
catch (IllegalArgumentException iae)
{
errors.add(new ScopedLocalizableError("converter.enum", "notAnEnumeratedValue"));
return null;
}
}
}