package com.fitbank.enums; public class UtilEnums { private UtilEnums() { } /** * Metodo que obtiene un BasicEnum desde un String * * @param * Tipo del BasicEnum * @param clase * Clase del BasicEnum * @param value * Valor en String * * @return BasicEnum del tipo T */ public static > T getEnumValue(Class clase, String value) { if (BasicEnum.class.isAssignableFrom(clase)) { for (T t : clase.getEnumConstants()) { if (((BasicEnum) t).getValue().equalsIgnoreCase(value)) { return t; } } } else { return Enum.valueOf(clase, value); } return null; } public static String getValue(Enum o) { if (o instanceof BasicEnum) { return ((BasicEnum) o).getValue(); } else if (o.getClass().isEnum()) { return o.name(); } else { return null; } } public static String getDescription(Enum o) { if (o instanceof BasicEnum) { return ((BasicEnum) o).getDescription(); } else if (o.getClass().isEnum()) { // TODO obtener descripciones desde el archivo .properties return o.toString(); } else { return null; } } }