From 3106a38ecf2e903b5a9246a95dbd640b94f98fd1 Mon Sep 17 00:00:00 2001 From: Sameeksha Vaity Date: Tue, 14 Jan 2020 15:35:48 -0800 Subject: [PATCH] update to expandable enum --- .../AnalyzeSentimentAsyncClient.java | 2 +- .../models/TextSentimentClass.java | 58 +++++-------------- .../TextAnalyticsClientTestBase.java | 2 +- 3 files changed, 18 insertions(+), 44 deletions(-) diff --git a/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/AnalyzeSentimentAsyncClient.java b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/AnalyzeSentimentAsyncClient.java index 6c3afcff0eaf..4553fae0e2a2 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/AnalyzeSentimentAsyncClient.java +++ b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/AnalyzeSentimentAsyncClient.java @@ -13,8 +13,8 @@ import com.azure.ai.textanalytics.models.DocumentResultCollection; import com.azure.ai.textanalytics.models.TextAnalyticsRequestOptions; import com.azure.ai.textanalytics.models.TextDocumentInput; -import com.azure.ai.textanalytics.models.TextSentiment; import com.azure.ai.textanalytics.models.TextSentimentClass; +import com.azure.ai.textanalytics.models.TextSentiment; import com.azure.core.http.rest.Response; import com.azure.core.http.rest.SimpleResponse; import com.azure.core.util.Context; diff --git a/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/models/TextSentimentClass.java b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/models/TextSentimentClass.java index 35b1a5a22c74..2d7e514e3ba3 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/models/TextSentimentClass.java +++ b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/models/TextSentimentClass.java @@ -3,67 +3,41 @@ package com.azure.ai.textanalytics.models; +import com.azure.core.util.ExpandableStringEnum; import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonValue; /** - * Defines values for DocumentSentimentValue. + * Defines values for TextSentimentClass. */ -public enum TextSentimentClass { +public final class TextSentimentClass extends ExpandableStringEnum { /** - * Enum value positive. + * Static value Positive for TextSentimentClass. */ - POSITIVE("positive"), + public static final TextSentimentClass POSITIVE = fromString("positive"); /** - * Enum value neutral. + * Static value Neutral for TextSentimentClass. */ - NEUTRAL("neutral"), + public static final TextSentimentClass NEUTRAL = fromString("neutral"); /** - * Enum value negative. + * Static value Negative for TextSentimentClass. */ - NEGATIVE("negative"), + public static final TextSentimentClass NEGATIVE = fromString("negative"); /** - * Enum value mixed. + * Static value Mixed for TextSentimentClass. */ - MIXED("mixed"); + public static final TextSentimentClass MIXED = fromString("mixed"); /** - * The actual serialized value for a DocumentSentimentValue instance. - */ - private final String value; - - /** - * Creates a {@code TextSentimentClass} enum model that describes the sentiment class of text - * - * @param value an enum value, could be positive, neutral, negative, or mixed - */ - TextSentimentClass(String value) { - this.value = value; - } - - /** - * Parses a serialized value to a DocumentSentimentValue instance. + * Creates or finds a TextSentimentClass from its string representation. * - * @param value the serialized value to parse. - * @return the parsed DocumentSentimentValue object, or null if unable to parse. + * @param name a name to look for. + * @return the corresponding TextSentimentClass. */ @JsonCreator - public static TextSentimentClass fromString(String value) { - TextSentimentClass[] items = TextSentimentClass.values(); - for (TextSentimentClass item : items) { - if (item.toString().equalsIgnoreCase(value)) { - return item; - } - } - return null; - } - - @JsonValue - @Override - public String toString() { - return this.value; + public static TextSentimentClass fromString(String name) { + return fromString(name, TextSentimentClass.class); } } diff --git a/sdk/textanalytics/azure-ai-textanalytics/src/test/java/com/azure/ai/textanalytics/TextAnalyticsClientTestBase.java b/sdk/textanalytics/azure-ai-textanalytics/src/test/java/com/azure/ai/textanalytics/TextAnalyticsClientTestBase.java index d510d441aa9c..887e70592c4e 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/src/test/java/com/azure/ai/textanalytics/TextAnalyticsClientTestBase.java +++ b/sdk/textanalytics/azure-ai-textanalytics/src/test/java/com/azure/ai/textanalytics/TextAnalyticsClientTestBase.java @@ -3,6 +3,7 @@ package com.azure.ai.textanalytics; +import com.azure.ai.textanalytics.models.AnalyzeSentimentResult; import com.azure.ai.textanalytics.models.DetectLanguageInput; import com.azure.ai.textanalytics.models.DetectLanguageResult; import com.azure.ai.textanalytics.models.DetectedLanguage; @@ -21,7 +22,6 @@ import com.azure.ai.textanalytics.models.TextDocumentStatistics; import com.azure.ai.textanalytics.models.TextSentiment; import com.azure.ai.textanalytics.models.TextSentimentClass; -import com.azure.ai.textanalytics.models.AnalyzeSentimentResult; import com.azure.core.credential.TokenCredential; import com.azure.core.exception.HttpResponseException; import com.azure.core.http.HttpClient;