From 23c70209133d0b72a21b3403cf035421edb35e4e 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 f499ff7b5..4987a91cf 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()); } /**