use of com.haulmont.restapi.data.EnumInfo in project cuba by cuba-platform.
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;
}
use of com.haulmont.restapi.data.EnumInfo in project cuba by cuba-platform.
the class EnumsControllerManager method getEnumInfo.
public EnumInfo getEnumInfo(String enumClassName) {
Class<?> enumClass;
try {
enumClass = Class.forName(enumClassName);
} catch (ClassNotFoundException e) {
throw new RestAPIException("Enum not found", "Enum with class name " + enumClassName + " not found", HttpStatus.NOT_FOUND);
}
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);
}
return new EnumInfo(enumClass.getName(), enumValues);
}
Aggregations