From 5f41d6664ea2cf56ac9cb4cee9c07522f8f7f719 Mon Sep 17 00:00:00 2001 From: Oliver Drotbohm Date: Wed, 20 Mar 2019 17:22:25 +0100 Subject: [PATCH] DATAREST-1354 - Polishing. --- .../data/rest/webmvc/json/EnumTranslator.java | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/json/EnumTranslator.java b/spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/json/EnumTranslator.java index 6b0ba30b0..0eb40a67e 100644 --- a/spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/json/EnumTranslator.java +++ b/spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/json/EnumTranslator.java @@ -17,12 +17,14 @@ package org.springframework.data.rest.webmvc.json; import lombok.RequiredArgsConstructor; +import java.util.Arrays; import java.util.List; import java.util.Locale; import org.springframework.context.MessageSourceResolvable; import org.springframework.context.support.MessageSourceAccessor; import org.springframework.data.rest.core.config.EnumTranslationConfiguration; +import org.springframework.data.util.StreamUtils; import org.springframework.util.Assert; import org.springframework.util.StringUtils; @@ -85,15 +87,19 @@ public class EnumTranslator implements EnumTranslationConfiguration { return messageSourceAccessor.getMessage(TranslatedEnum.of(value, enableDefaultTranslation)); } + /** + * Returns all potentially translated values for the given {@link Enum} type. + * + * @param type must not be {@literal null}. + * @return + */ public List getValues(Class> type) { - List result = new ArrayList(); + Assert.notNull(type, "Enum type must not be null!"); - for (Enum value : type.getEnumConstants()) { - result.add(asText(value)); - } - - return result; + return Arrays.stream(type.getEnumConstants()) // + .map(this::asText) // + .collect(StreamUtils.toUnmodifiableList()); } /**