/** * Gets the enum name. * * @param e the e * @param value the value * @return the enum name */ public static String getEnumName(Enum[] e, int value) { if (e != null) { int toCompareValue; for (Enum en : e) { if (en instanceof EnumReadable) { toCompareValue = ((EnumReadable) en).value(); } else { toCompareValue = en.ordinal(); } if (value == toCompareValue) { return en.name(); } } } return ""; }
/** * Generate enum idl. * * @param code the code * @param cls the cls */ private static void generateEnumIDL(StringBuilder code, Class<Enum> cls) { code.append("enum ").append(cls.getSimpleName()).append(" { \n"); Field[] fields = cls.getFields(); for (Field field : fields) { String name = field.getName(); code.append(name).append("="); try { Enum value = Enum.valueOf(cls, name); if (value instanceof EnumReadable) { code.append(((EnumReadable) value).value()); } else { code.append(value.ordinal()); } code.append(";\n"); } catch (Exception e) { continue; } } code.append("}\n "); }
} else if (type == FieldType.ENUM) { if (o instanceof EnumReadable) { size = CodedOutputStream.computeInt32SizeNoTag(((EnumReadable) o).value()); } else if (o instanceof Enum) { size = CodedOutputStream.computeInt32SizeNoTag(((Enum) o).ordinal());
int value = 0; if (o instanceof EnumReadable) { value = ((EnumReadable) o).value(); } else if (o instanceof Enum) { value = ((Enum) o).ordinal();