Too weird for lang or text: public enum LetterCase { LOWER { @Override public String toCaseString(final String source, final Locale locale) { return source.toLowerCase(locale); }
}, UPPER { @Override public String toCaseString(final String source, final Locale locale) { return source.toUpperCase(locale); } }; public abstract String toCaseString(String source, Locale locale); } ? Gary