package se.unlogic.standardutils.enums; import java.util.ArrayList; public class EnumUtils { public static <Type extends Enum<Type>> boolean isEnum(Class<Type> e, String s) { try { Enum.valueOf(e, s); return true; } catch (IllegalArgumentException ex) { return false; } catch (NullPointerException ex) { return false; } } public static <Type extends Enum<Type>> Type toEnum(Class<Type> e, String s) { try { return Type.valueOf(e, s); } catch (IllegalArgumentException ex) { return null; } catch (NullPointerException ex) { return null; } } public static <Type extends Enum<Type>> ArrayList<Type> toEnum(Class<Type> e, String[] values) { ArrayList<Type> enumValues = new ArrayList<Type>(); for (String value : values) { Type enumValue = toEnum(e, value); if (enumValue != null) { enumValues.add(enumValue); } } if (enumValues.isEmpty()) { return null; } else { return enumValues; } } public static <Type extends Enum<Type>> Type toEnum(Type[] es, int ordinal) { for (Type typeValue : es) { if (typeValue.ordinal() == ordinal) { return typeValue; } } return null; } }