commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Cheong Voon Leong (Jira)" <j...@apache.org>
Subject [jira] [Created] (LANG-1495) Add Overloading Methods To EnumUtils
Date Fri, 25 Oct 2019 07:10:00 GMT
Cheong Voon Leong created LANG-1495:
---------------------------------------

             Summary: 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


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)

Mime
View raw message