pippo icon indicating copy to clipboard operation
pippo copied to clipboard

ENUM case insensitive

Open mhagnumdw opened this issue 6 years ago • 1 comments

Is there another less verbose way of converting a request parameter to an ENUM with case-insensitive?

The only way I saw it was implementing a convert, like this:

import ro.pippo.core.ParameterValue;
import ro.pippo.core.converters.Converter;

public final class TypeOrderIgnoreCaseConverter implements Converter<TypeOrder> {

    @Override
    public TypeOrder getAsObject(String[] values, Locale locale, String pattern) {
        final ParameterValue parameterValue = new ParameterValue(values);
        return parameterValue.toEnum(TypeOrder.class, null, false);
    }

}

Boring: for each ENUM it is necessary to have a specific converter.

My TypeOrder ENUM:

public enum TypeOrder {

    ASC("asc"), DESC("desc");

    // omitted for brevity

}

mhagnumdw avatar Jan 07 '19 22:01 mhagnumdw

I don't use enum as request parameter. I cannot help you. I prefer to use plain variant with ParameterValue.

decebals avatar Jan 09 '19 19:01 decebals