Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update TextSentimentClass to extend ExpandableStringEnum #7427

Merged
merged 1 commit into from
Jan 15, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<TextSentimentClass> {
/**
* 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);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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;
Expand Down