use of io.jmix.core.metamodel.datatype.impl.EnumClass in project jmix by jmix-framework.
the class EnumsControllerManager method getAllEnumInfos.
public List<EnumInfo> getAllEnumInfos() {
List<EnumInfo> results = new ArrayList<>();
metadataTools.getAllEnums().stream().filter(enumClass -> EnumClass.class.isAssignableFrom(enumClass) && enumClass.isEnum()).forEach(enumClass -> {
List<EnumValueInfo> enumValues = new ArrayList<>();
Object[] enumConstants = enumClass.getEnumConstants();
for (Object enumConstant : enumConstants) {
Enum enumValue = (Enum) enumConstant;
EnumValueInfo enumValueInfo = new EnumValueInfo(enumValue.name(), ((EnumClass) enumValue).getId(), messages.getMessage(enumValue));
enumValues.add(enumValueInfo);
}
results.add(new EnumInfo(enumClass.getName(), enumValues));
});
return results;
}
Aggregations