[
https://issues.apache.org/jira/browse/LANG-1495?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16960688#comment-16960688
]
Gary D. Gregory commented on LANG-1495:
---------------------------------------
You should fork the GitHub repository, create a branch from the master branch
for your code, and then create a pull request on GitHub.
> Add Overloading Methods To EnumUtils
> ------------------------------------
>
> Key: LANG-1495
> URL: https://issues.apache.org/jira/browse/LANG-1495
> Project: Commons Lang
> Issue Type: Improvement
> Reporter: Cheong Voon Leong
> Priority: Trivial
>
> I would like to add 2 overloading methods to EnumUtils, getEnum and
> getEnumIgnoreCase.
> Instead of returning null, if not found. In my opinion I think allowing user
> to set a default result is a better approach or return an Optional.
>
> {noformat}
> public static <E extends Enum<E>> E getEnum(final Class<E> enumClass, final
> String enumName) {
> return getEnum(enumClass, enumName, null);
> }
> public static <E extends Enum<E>> E getEnum(final Class<E> enumClass, final
> String enumName, E defaultEnum) {
> if (enumName == null) {
> return defaultEnum;
> }
> try {
> return Enum.valueOf(enumClass, enumName);
> } catch (final IllegalArgumentException ex) {
> return defaultEnum;
> }
> }
> {noformat}
>
>
> {code:java}
> public static <E extends Enum<E>> E getEnumIgnoreCase(final Class<E>
> enumClass, final String enumName) {
> return getEnumIgnoreCase(enumClass, enumName, null);
> }
> public static <E extends Enum<E>> E getEnumIgnoreCase(final Class<E>
> enumClass, final String enumName, E defaultEnum) {
> if (enumName == null || !enumClass.isEnum()) {
> return defaultEnum;
> }
> for (final E each : enumClass.getEnumConstants()) {
> if (each.name().equalsIgnoreCase(enumName)) {
> return each;
> }
> }
> return defaultEnum;
> }
> {code}
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)