+ * If {@link #pipeline(HttpPipeline) pipeline} is set, then the {@code pipeline} and
+ * {@link #endpoint(String) endpoint} are used to create the {@link TextAnalyticsClient client}. All other builder
+ * settings are ignored
+ *
+ *
+ * @return A TextAnalyticsClient with the options set from the builder.
+ * @throws NullPointerException if {@link #endpoint(String) endpoint} or
+ * {@link #subscriptionKey(String) subscriptionKey} has not been set.
+ * @throws IllegalArgumentException if {@link #endpoint(String) endpoint} cannot be parsed into a valid URL.
+ */
+ public TextAnalyticsClient buildClient() {
+ return new TextAnalyticsClient(buildAsyncClient());
+ }
+
+
+ /**
+ * Creates a {@link TextAnalyticsAsyncClient} based on options set in the builder. Every time
+ * {@code buildAsyncClient()} is called a new instance of {@link TextAnalyticsAsyncClient} is created.
+ *
+ *
+ * If {@link #pipeline(HttpPipeline) pipeline} is set, then the {@code pipeline} and
+ * {@link #endpoint(String) endpoint} are used to create the {@link TextAnalyticsClient client}. All other builder
+ * settings are ignored.
+ *
+ *
+ * @return A TextAnalyticsAsyncClient with the options set from the builder.
+ * @throws NullPointerException if {@link #endpoint(String) endpoint} or
+ * {@link #subscriptionKey(String) subscriptionKey} has not been set.
+ * @throws IllegalArgumentException if {@link #endpoint(String) endpoint} cannot be parsed into a valid URL.
+ */
+ public TextAnalyticsAsyncClient buildAsyncClient() {
+ // Global Env configuration store
+ final Configuration buildConfiguration = (configuration == null)
+ ? Configuration.getGlobalConfiguration().clone() : configuration;
+ // Service Version
+ final TextAnalyticsServiceVersion serviceVersion =
+ version != null ? version : TextAnalyticsServiceVersion.getLatest();
+
+ // Endpoint cannot be null, which is required in request authentication
+ Objects.requireNonNull(endpoint, "'Endpoint' is required and can not be null.");
+
+ HttpPipeline pipeline = httpPipeline;
+ // Create a default Pipeline if it is not given
+ if (pipeline == null) {
+ // Closest to API goes first, closest to wire goes last.
+ final List policies = new ArrayList<>();
+
+ // Authentications
+ if (tokenCredential != null) {
+ // User token based policy
+ policies.add(new BearerTokenAuthenticationPolicy(tokenCredential, DEFAULT_SCOPE));
+ } else if (subscriptionKey != null) {
+ headers.put(OCP_APIM_SUBSCRIPTION_KEY, subscriptionKey);
+ } else {
+ // Throw exception that credential and tokenCredential cannot be null
+ throw logger.logExceptionAsError(
+ new IllegalArgumentException("Missing credential information while building a client."));
+ }
+
+ policies.add(new UserAgentPolicy(httpLogOptions.getApplicationId(), clientName, clientVersion,
+ buildConfiguration));
+ policies.add(new RequestIdPolicy());
+ policies.add(new AddHeadersPolicy(headers));
+ policies.add(new AddDatePolicy());
+
+ HttpPolicyProviders.addBeforeRetryPolicies(policies);
+ policies.add(retryPolicy == null ? DEFAULT_RETRY_POLICY : retryPolicy);
+ policies.addAll(this.policies);
+ HttpPolicyProviders.addAfterRetryPolicies(policies);
+
+ policies.add(new HttpLoggingPolicy(httpLogOptions));
+
+ pipeline = new HttpPipelineBuilder()
+ .policies(policies.toArray(new HttpPipelinePolicy[0]))
+ .httpClient(httpClient)
+ .build();
+ }
+
+ final TextAnalyticsClientImpl textAnalyticsAPI = new TextAnalyticsClientImplBuilder()
+ .endpoint(endpoint)
+ .pipeline(pipeline)
+ .build();
+
+ return new TextAnalyticsAsyncClient(textAnalyticsAPI, serviceVersion, clientOptions);
+ }
+
+ /**
+ * Set the default client option for one client.
+ *
+ * @param clientOptions TextAnalyticsClientOptions model that includes
+ * {@link TextAnalyticsClientOptions#getDefaultLanguage() default language} and
+ * {@link TextAnalyticsClientOptions#getDefaultCountryHint() default country hint}
+ *
+ * @return The updated TextAnalyticsClientBuilder object.
+ */
+ public TextAnalyticsClientBuilder clientOptions(TextAnalyticsClientOptions clientOptions) {
+ this.clientOptions = clientOptions;
+ return this;
+ }
+
+ /**
+ * Sets the service endpoint for the Azure Text Analytics instance.
+ *
+ * @param endpoint The URL of the Azure Text Analytics instance service requests to and receive responses from.
+ * @return The updated TextAnalyticsClientBuilder object.
+ * @throws NullPointerException if {@code endpoint} is null
+ * @throws IllegalArgumentException if {@code endpoint} cannot be parsed into a valid URL.
+ */
+ public TextAnalyticsClientBuilder endpoint(String endpoint) {
+ Objects.requireNonNull(endpoint, "'endpoint' cannot be null.");
+
+ try {
+ new URL(endpoint);
+ } catch (MalformedURLException ex) {
+ throw logger.logExceptionAsWarning(new IllegalArgumentException("'endpoint' must be a valid URL", ex));
+ }
+ this.endpoint = endpoint;
+ return this;
+ }
+
+ /**
+ * Sets the credential to use when authenticating HTTP requests for this TextAnalyticsClientBuilder.
+ *
+ * @param subscriptionKey subscription key
+ *
+ * @return The updated TextAnalyticsClientBuilder object.
+ * @throws NullPointerException If {@code subscriptionKey} is {@code null}
+ */
+ public TextAnalyticsClientBuilder subscriptionKey(String subscriptionKey) {
+ Objects.requireNonNull(subscriptionKey, "'subscriptionKey' cannot be null.");
+ this.subscriptionKey = subscriptionKey;
+ return this;
+ }
+
+ /**
+ * Sets the {@link TokenCredential} used to authenticate HTTP requests.
+ *
+ * @param tokenCredential TokenCredential used to authenticate HTTP requests.
+ * @return The updated TextAnalyticsClientBuilder object.
+ * @throws NullPointerException If {@code tokenCredential} is {@code null}.
+ */
+ public TextAnalyticsClientBuilder credential(TokenCredential tokenCredential) {
+ Objects.requireNonNull(tokenCredential, "'tokenCredential' cannot be null.");
+ this.tokenCredential = tokenCredential;
+ return this;
+ }
+
+ /**
+ * Sets the logging configuration for HTTP requests and responses.
+ *
+ * If logLevel is not provided, default value of {@link HttpLogDetailLevel#NONE} is set.
+ *
+ * @param logOptions The logging configuration to use when sending and receiving HTTP requests/responses.
+ *
+ * @return The updated TextAnalyticsClientBuilder object.
+ */
+ public TextAnalyticsClientBuilder httpLogOptions(HttpLogOptions logOptions) {
+ this.httpLogOptions = logOptions;
+ return this;
+ }
+
+ /**
+ * Adds a policy to the set of existing policies that are executed after required policies.
+ *
+ * @param policy The retry policy for service requests.
+ *
+ * @return The updated TextAnalyticsClientBuilder object.
+ * @throws NullPointerException If {@code policy} is {@code null}.
+ */
+ public TextAnalyticsClientBuilder addPolicy(HttpPipelinePolicy policy) {
+ Objects.requireNonNull(policy, "'policy' cannot be null.");
+ policies.add(policy);
+ return this;
+ }
+
+ /**
+ * Sets the HTTP client to use for sending and receiving requests to and from the service.
+ *
+ * @param client The HTTP client to use for requests.
+ * @return The updated TextAnalyticsClientBuilder object.
+ */
+ public TextAnalyticsClientBuilder httpClient(HttpClient client) {
+ if (this.httpClient != null && client == null) {
+ logger.info("HttpClient is being set to 'null' when it was previously configured.");
+ }
+
+ this.httpClient = client;
+ return this;
+ }
+
+ /**
+ * Sets the HTTP pipeline to use for the service client.
+ *
+ * If {@code pipeline} is set, all other settings are ignored, aside from
+ * {@link TextAnalyticsClientBuilder#endpoint(String) endpoint} to build {@link TextAnalyticsAsyncClient} or
+ * {@link TextAnalyticsClient}.
+ *
+ * @param httpPipeline The HTTP pipeline to use for sending service requests and receiving responses.
+ *
+ * @return The updated TextAnalyticsClientBuilder object.
+ */
+ public TextAnalyticsClientBuilder pipeline(HttpPipeline httpPipeline) {
+ if (this.httpPipeline != null && httpPipeline == null) {
+ logger.info("HttpPipeline is being set to 'null' when it was previously configured.");
+ }
+
+ this.httpPipeline = httpPipeline;
+ return this;
+ }
+
+ /**
+ * Sets the configuration store that is used during construction of the service client.
+ *
+ * The default configuration store is a clone of the {@link Configuration#getGlobalConfiguration() global
+ * configuration store}, use {@link Configuration#NONE} to bypass using configuration settings during construction.
+ *
+ * @param configuration The configuration store used to
+ *
+ * @return The updated TextAnalyticsClientBuilder object.
+ */
+ public TextAnalyticsClientBuilder configuration(Configuration configuration) {
+ this.configuration = configuration;
+ return this;
+ }
+
+ /**
+ * Sets the {@link RetryPolicy} that is used when each request is sent.
+ *
+ * The default retry policy will be used if not provided {@link TextAnalyticsClientBuilder#buildAsyncClient()}
+ * to build {@link TextAnalyticsAsyncClient} or {@link TextAnalyticsClient}.
+ *
+ * @param retryPolicy user's retry policy applied to each request.
+ *
+ * @return The updated TextAnalyticsClientBuilder object.
+ */
+ public TextAnalyticsClientBuilder retryPolicy(RetryPolicy retryPolicy) {
+ this.retryPolicy = retryPolicy;
+ return this;
+ }
+
+ /**
+ * Sets the {@link TextAnalyticsServiceVersion} that is used when making API requests.
+ *
+ * If a service version is not provided, the service version that will be used will be the latest known service
+ * version based on the version of the client library being used. If no service version is specified, updating to a
+ * newer version the client library will have the result of potentially moving to a newer service version.
+ *
+ * @param version {@link TextAnalyticsServiceVersion} of the service to be used when making requests.
+ *
+ * @return The updated TextAnalyticsClientBuilder object.
+ */
+ public TextAnalyticsClientBuilder serviceVersion(TextAnalyticsServiceVersion version) {
+ this.version = version;
+ return this;
+ }
+}
diff --git a/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/TextAnalyticsServiceVersion.java b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/TextAnalyticsServiceVersion.java
new file mode 100644
index 000000000000..bb7b1a516842
--- /dev/null
+++ b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/TextAnalyticsServiceVersion.java
@@ -0,0 +1,37 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+package com.azure.ai.textanalytics;
+
+import com.azure.core.util.ServiceVersion;
+
+/**
+ * The versions of Azure Text Analytics supported by this client library.
+ */
+public enum TextAnalyticsServiceVersion implements ServiceVersion {
+ V3_0_preview_1("v3.0-preview.1");
+
+ private final String version;
+
+ TextAnalyticsServiceVersion(String version) {
+ this.version = version;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public String getVersion() {
+ return this.version;
+ }
+
+ /**
+ * Gets the latest service version supported by this client library
+ *
+ * @return the latest {@link TextAnalyticsServiceVersion}
+ */
+ public static TextAnalyticsServiceVersion getLatest() {
+ return V3_0_preview_1;
+ }
+
+}
diff --git a/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/TextAnalyticsClientImpl.java b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/TextAnalyticsClientImpl.java
new file mode 100644
index 000000000000..357d1f180e49
--- /dev/null
+++ b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/TextAnalyticsClientImpl.java
@@ -0,0 +1,328 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.ai.textanalytics.implementation;
+
+import com.azure.ai.textanalytics.implementation.models.EntitiesResult;
+import com.azure.ai.textanalytics.implementation.models.EntityLinkingResult;
+import com.azure.ai.textanalytics.implementation.models.KeyPhraseResult;
+import com.azure.ai.textanalytics.implementation.models.LanguageBatchInput;
+import com.azure.ai.textanalytics.implementation.models.LanguageResult;
+import com.azure.ai.textanalytics.implementation.models.MultiLanguageBatchInput;
+import com.azure.ai.textanalytics.implementation.models.SentimentResponse;
+import com.azure.core.annotation.BodyParam;
+import com.azure.core.annotation.ExpectedResponses;
+import com.azure.core.annotation.Host;
+import com.azure.core.annotation.HostParam;
+import com.azure.core.annotation.Post;
+import com.azure.core.annotation.QueryParam;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceInterface;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.annotation.UnexpectedResponseExceptionType;
+import com.azure.core.exception.HttpResponseException;
+import com.azure.core.http.HttpPipeline;
+import com.azure.core.http.HttpPipelineBuilder;
+import com.azure.core.http.policy.CookiePolicy;
+import com.azure.core.http.policy.RetryPolicy;
+import com.azure.core.http.policy.UserAgentPolicy;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.http.rest.SimpleResponse;
+import com.azure.core.util.Context;
+import reactor.core.publisher.Mono;
+
+/**
+ * Initializes a new instance of the TextAnalyticsClient type.
+ */
+public final class TextAnalyticsClientImpl {
+ /**
+ * The proxy service used to perform REST calls.
+ */
+ private TextAnalyticsClientService service;
+
+ /**
+ * Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus.api.cognitive.microsoft.com).
+ */
+ private String endpoint;
+
+ /**
+ * Gets Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus.api.cognitive.microsoft.com).
+ *
+ * @return the endpoint value.
+ */
+ public String getEndpoint() {
+ return this.endpoint;
+ }
+
+ /**
+ * Sets Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus.api.cognitive.microsoft.com).
+ *
+ * @param endpoint the endpoint value.
+ */
+ TextAnalyticsClientImpl setEndpoint(String endpoint) {
+ this.endpoint = endpoint;
+ return this;
+ }
+
+ /**
+ * The HTTP pipeline to send requests through.
+ */
+ private HttpPipeline httpPipeline;
+
+ /**
+ * Gets The HTTP pipeline to send requests through.
+ *
+ * @return the httpPipeline value.
+ */
+ public HttpPipeline getHttpPipeline() {
+ return this.httpPipeline;
+ }
+
+ /**
+ * Initializes an instance of TextAnalyticsClient client.
+ */
+ public TextAnalyticsClientImpl() {
+ new HttpPipelineBuilder().policies(new UserAgentPolicy(), new RetryPolicy(), new CookiePolicy()).build();
+ }
+
+ /**
+ * Initializes an instance of TextAnalyticsClient client.
+ *
+ * @param httpPipeline The HTTP pipeline to send requests through.
+ */
+ public TextAnalyticsClientImpl(HttpPipeline httpPipeline) {
+ this.httpPipeline = httpPipeline;
+ this.service = RestProxy.create(TextAnalyticsClientService.class, this.httpPipeline);
+ }
+
+ /**
+ * The interface defining all the services for TextAnalyticsClient to be
+ * used by the proxy service to perform REST calls.
+ */
+ @Host("{Endpoint}/text/analytics/v3.0-preview.1")
+ @ServiceInterface(name = "TextAnalyticsClient")
+ private interface TextAnalyticsClientService {
+ @Post("entities/recognition/general")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> entitiesRecognitionGeneral(@HostParam("Endpoint") String endpoint, @QueryParam("model-version") String modelVersion, @QueryParam("showStats") Boolean showStats, @BodyParam("application/json; charset=utf-8") MultiLanguageBatchInput input, Context context);
+
+ @Post("entities/recognition/pii")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> entitiesRecognitionPii(@HostParam("Endpoint") String endpoint, @QueryParam("model-version") String modelVersion, @QueryParam("showStats") Boolean showStats, @BodyParam("application/json; charset=utf-8") MultiLanguageBatchInput input, Context context);
+
+ @Post("entities/linking")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> entitiesLinking(@HostParam("Endpoint") String endpoint, @QueryParam("model-version") String modelVersion, @QueryParam("showStats") Boolean showStats, @BodyParam("application/json; charset=utf-8") MultiLanguageBatchInput input, Context context);
+
+ @Post("keyPhrases")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> keyPhrases(@HostParam("Endpoint") String endpoint, @QueryParam("model-version") String modelVersion, @QueryParam("showStats") Boolean showStats, @BodyParam("application/json; charset=utf-8") MultiLanguageBatchInput input, Context context);
+
+ @Post("languages")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> languages(@HostParam("Endpoint") String endpoint, @QueryParam("model-version") String modelVersion, @QueryParam("showStats") Boolean showStats, @BodyParam("application/json; charset=utf-8") LanguageBatchInput input, Context context);
+
+ @Post("sentiment")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> sentiment(@HostParam("Endpoint") String endpoint, @QueryParam("model-version") String modelVersion, @QueryParam("showStats") Boolean showStats, @BodyParam("application/json; charset=utf-8") MultiLanguageBatchInput input, Context context);
+ }
+
+ /**
+ * Named Entity Recognition
+ * The API returns a list of general named entities in a given document. For the list of supported entity types, check <a href="https://aka.ms/taner">Supported Entity Types in Text Analytics API</a>. See the <a href="https://aka.ms/talangs">Supported languages in Text Analytics API</a> for the list of enabled languages.
+ *
+ * @param input Collection of documents to analyze.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @return a Mono which performs the network request upon subscription.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> entitiesRecognitionGeneralWithRestResponseAsync(MultiLanguageBatchInput input, Context context) {
+ final String modelVersion = null;
+ final Boolean showStats = null;
+ return service.entitiesRecognitionGeneral(this.getEndpoint(), modelVersion, showStats, input, context);
+ }
+
+ /**
+ * Named Entity Recognition
+ * The API returns a list of general named entities in a given document. For the list of supported entity types, check <a href="https://aka.ms/taner">Supported Entity Types in Text Analytics API</a>. See the <a href="https://aka.ms/talangs">Supported languages in Text Analytics API</a> for the list of enabled languages.
+ *
+ * @param input Collection of documents to analyze.
+ * @param modelVersion (Optional) This value indicates which model will be used for scoring. If a model-version is not specified, the API should default to the latest, non-preview version.
+ * @param showStats (Optional) if set to true, response will contain input and document level statistics.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @return a Mono which performs the network request upon subscription.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> entitiesRecognitionGeneralWithRestResponseAsync(MultiLanguageBatchInput input, String modelVersion, Boolean showStats, Context context) {
+ return service.entitiesRecognitionGeneral(this.getEndpoint(), modelVersion, showStats, input, context);
+ }
+
+ /**
+ * Entities containing personal information
+ * The API returns a list of entities with personal information (\"SSN\", \"Bank Account\" etc) in the document. For the list of supported entity types, check <a href="https://aka.ms/tanerpii">Supported Entity Types in Text Analytics API</a>. See the <a href="https://aka.ms/talangs">Supported languages in Text Analytics API</a> for the list of enabled languages.
+ *
+ * @param input Collection of documents to analyze.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @return a Mono which performs the network request upon subscription.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> entitiesRecognitionPiiWithRestResponseAsync(MultiLanguageBatchInput input, Context context) {
+ final String modelVersion = null;
+ final Boolean showStats = null;
+ return service.entitiesRecognitionPii(this.getEndpoint(), modelVersion, showStats, input, context);
+ }
+
+ /**
+ * Entities containing personal information
+ * The API returns a list of entities with personal information (\"SSN\", \"Bank Account\" etc) in the document. For the list of supported entity types, check <a href="https://aka.ms/tanerpii">Supported Entity Types in Text Analytics API</a>. See the <a href="https://aka.ms/talangs">Supported languages in Text Analytics API</a> for the list of enabled languages.
+ *
+ * @param input Collection of documents to analyze.
+ * @param modelVersion (Optional) This value indicates which model will be used for scoring. If a model-version is not specified, the API should default to the latest, non-preview version.
+ * @param showStats (Optional) if set to true, response will contain input and document level statistics.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @return a Mono which performs the network request upon subscription.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> entitiesRecognitionPiiWithRestResponseAsync(MultiLanguageBatchInput input, String modelVersion, Boolean showStats, Context context) {
+ return service.entitiesRecognitionPii(this.getEndpoint(), modelVersion, showStats, input, context);
+ }
+
+ /**
+ * Linked entities from a well-known knowledge base
+ * The API returns a list of recognized entities with links to a well-known knowledge base. See the <a href="https://aka.ms/talangs">Supported languages in Text Analytics API</a> for the list of enabled languages.
+ *
+ * @param input Collection of documents to analyze.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @return a Mono which performs the network request upon subscription.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> entitiesLinkingWithRestResponseAsync(MultiLanguageBatchInput input, Context context) {
+ final String modelVersion = null;
+ final Boolean showStats = null;
+ return service.entitiesLinking(this.getEndpoint(), modelVersion, showStats, input, context);
+ }
+
+ /**
+ * Linked entities from a well-known knowledge base
+ * The API returns a list of recognized entities with links to a well-known knowledge base. See the <a href="https://aka.ms/talangs">Supported languages in Text Analytics API</a> for the list of enabled languages.
+ *
+ * @param input Collection of documents to analyze.
+ * @param modelVersion (Optional) This value indicates which model will be used for scoring. If a model-version is not specified, the API should default to the latest, non-preview version.
+ * @param showStats (Optional) if set to true, response will contain input and document level statistics.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @return a Mono which performs the network request upon subscription.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> entitiesLinkingWithRestResponseAsync(MultiLanguageBatchInput input, String modelVersion, Boolean showStats, Context context) {
+ return service.entitiesLinking(this.getEndpoint(), modelVersion, showStats, input, context);
+ }
+
+ /**
+ * Key Phrases
+ * The API returns a list of strings denoting the key phrases in the input text. See the <a href="https://aka.ms/talangs">Supported languages in Text Analytics API</a> for the list of enabled languages.
+ *
+ * @param input Collection of documents to analyze. Documents can now contain a language field to indicate the text language.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @return a Mono which performs the network request upon subscription.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> keyPhrasesWithRestResponseAsync(MultiLanguageBatchInput input, Context context) {
+ final String modelVersion = null;
+ final Boolean showStats = null;
+ return service.keyPhrases(this.getEndpoint(), modelVersion, showStats, input, context);
+ }
+
+ /**
+ * Key Phrases
+ * The API returns a list of strings denoting the key phrases in the input text. See the <a href="https://aka.ms/talangs">Supported languages in Text Analytics API</a> for the list of enabled languages.
+ *
+ * @param input Collection of documents to analyze. Documents can now contain a language field to indicate the text language.
+ * @param modelVersion (Optional) This value indicates which model will be used for scoring. If a model-version is not specified, the API should default to the latest, non-preview version.
+ * @param showStats (Optional) if set to true, response will contain input and document level statistics.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @return a Mono which performs the network request upon subscription.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> keyPhrasesWithRestResponseAsync(MultiLanguageBatchInput input, String modelVersion, Boolean showStats, Context context) {
+ return service.keyPhrases(this.getEndpoint(), modelVersion, showStats, input, context);
+ }
+
+ /**
+ * Detect Language
+ * The API returns the detected language and a numeric score between 0 and 1. Scores close to 1 indicate 100% certainty that the identified language is true. See the <a href="https://aka.ms/talangs">Supported languages in Text Analytics API</a> for the list of enabled languages.
+ *
+ * @param input Collection of documents to analyze.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @return a Mono which performs the network request upon subscription.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> languagesWithRestResponseAsync(LanguageBatchInput input, Context context) {
+ final String modelVersion = null;
+ final Boolean showStats = null;
+ return service.languages(this.getEndpoint(), modelVersion, showStats, input, context);
+ }
+
+ /**
+ * Detect Language
+ * The API returns the detected language and a numeric score between 0 and 1. Scores close to 1 indicate 100% certainty that the identified language is true. See the <a href="https://aka.ms/talangs">Supported languages in Text Analytics API</a> for the list of enabled languages.
+ *
+ * @param input Collection of documents to analyze.
+ * @param modelVersion (Optional) This value indicates which model will be used for scoring. If a model-version is not specified, the API should default to the latest, non-preview version.
+ * @param showStats (Optional) if set to true, response will contain input and document level statistics.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @return a Mono which performs the network request upon subscription.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> languagesWithRestResponseAsync(LanguageBatchInput input, String modelVersion, Boolean showStats, Context context) {
+ return service.languages(this.getEndpoint(), modelVersion, showStats, input, context);
+ }
+
+ /**
+ * Sentiment
+ * The API returns a sentiment prediction, as well as sentiment scores for each sentiment class (Positive, Negative, and Neutral) for the document and each sentence within it. See the <a href="https://aka.ms/talangs">Supported languages in Text Analytics API</a> for the list of enabled languages.
+ *
+ * @param input Collection of documents to analyze.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @return a Mono which performs the network request upon subscription.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> sentimentWithRestResponseAsync(MultiLanguageBatchInput input, Context context) {
+ final String modelVersion = null;
+ final Boolean showStats = null;
+ return service.sentiment(this.getEndpoint(), modelVersion, showStats, input, context);
+ }
+
+ /**
+ * Sentiment
+ * The API returns a sentiment prediction, as well as sentiment scores for each sentiment class (Positive, Negative, and Neutral) for the document and each sentence within it. See the <a href="https://aka.ms/talangs">Supported languages in Text Analytics API</a> for the list of enabled languages.
+ *
+ * @param input Collection of documents to analyze.
+ * @param modelVersion (Optional) This value indicates which model will be used for scoring. If a model-version is not specified, the API should default to the latest, non-preview version.
+ * @param showStats (Optional) if set to true, response will contain input and document level statistics.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @return a Mono which performs the network request upon subscription.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> sentimentWithRestResponseAsync(MultiLanguageBatchInput input, String modelVersion, Boolean showStats, Context context) {
+ return service.sentiment(this.getEndpoint(), modelVersion, showStats, input, context);
+ }
+}
diff --git a/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/TextAnalyticsClientImplBuilder.java b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/TextAnalyticsClientImplBuilder.java
new file mode 100644
index 000000000000..dc59d2fc68aa
--- /dev/null
+++ b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/TextAnalyticsClientImplBuilder.java
@@ -0,0 +1,66 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.ai.textanalytics.implementation;
+
+import com.azure.core.annotation.ServiceClientBuilder;
+import com.azure.core.http.HttpPipeline;
+import com.azure.core.http.HttpPipelineBuilder;
+import com.azure.core.http.policy.CookiePolicy;
+import com.azure.core.http.policy.RetryPolicy;
+import com.azure.core.http.policy.UserAgentPolicy;
+
+/**
+ * A builder for creating a new instance of the TextAnalyticsClient type.
+ */
+@ServiceClientBuilder(serviceClients = TextAnalyticsClientImpl.class)
+public final class TextAnalyticsClientImplBuilder {
+ /*
+ * Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus.api.cognitive.microsoft.com).
+ */
+ private String endpoint;
+
+ /**
+ * Sets Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus.api.cognitive.microsoft.com).
+ *
+ * @param endpoint the endpoint value.
+ * @return the TextAnalyticsClientImplBuilder.
+ */
+ public TextAnalyticsClientImplBuilder endpoint(String endpoint) {
+ this.endpoint = endpoint;
+ return this;
+ }
+
+ /*
+ * The HTTP pipeline to send requests through
+ */
+ private HttpPipeline pipeline;
+
+ /**
+ * Sets The HTTP pipeline to send requests through.
+ *
+ * @param pipeline the pipeline value.
+ * @return the TextAnalyticsClientImplBuilder.
+ */
+ public TextAnalyticsClientImplBuilder pipeline(HttpPipeline pipeline) {
+ this.pipeline = pipeline;
+ return this;
+ }
+
+ /**
+ * Builds an instance of TextAnalyticsClientImpl with the provided parameters.
+ *
+ * @return an instance of TextAnalyticsClientImpl.
+ */
+ public TextAnalyticsClientImpl build() {
+ if (pipeline == null) {
+ this.pipeline = new HttpPipelineBuilder().policies(new UserAgentPolicy(), new RetryPolicy(), new CookiePolicy()).build();
+ }
+ TextAnalyticsClientImpl client = new TextAnalyticsClientImpl(pipeline);
+ if (this.endpoint != null) {
+ client.setEndpoint(this.endpoint);
+ }
+ return client;
+ }
+}
diff --git a/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/DetectedLanguage.java b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/DetectedLanguage.java
new file mode 100644
index 000000000000..5eec388b2d15
--- /dev/null
+++ b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/DetectedLanguage.java
@@ -0,0 +1,100 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.ai.textanalytics.implementation.models;
+
+import com.azure.core.annotation.Fluent;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The DetectedLanguage model.
+ */
+@Fluent
+public final class DetectedLanguage {
+ /*
+ * Long name of a detected language (e.g. English, French).
+ */
+ @JsonProperty(value = "name", required = true)
+ private String name;
+
+ /*
+ * A two letter representation of the detected language according to the
+ * ISO 639-1 standard (e.g. en, fr).
+ */
+ @JsonProperty(value = "iso6391Name", required = true)
+ private String iso6391Name;
+
+ /*
+ * A confidence score between 0 and 1. Scores close to 1 indicate 100%
+ * certainty that the identified language is true.
+ */
+ @JsonProperty(value = "score", required = true)
+ private double score;
+
+ /**
+ * Get the name property: Long name of a detected language (e.g. English,
+ * French).
+ *
+ * @return the name value.
+ */
+ public String getName() {
+ return this.name;
+ }
+
+ /**
+ * Set the name property: Long name of a detected language (e.g. English,
+ * French).
+ *
+ * @param name the name value to set.
+ * @return the DetectedLanguage object itself.
+ */
+ public DetectedLanguage setName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the iso6391Name property: A two letter representation of the
+ * detected language according to the ISO 639-1 standard (e.g. en, fr).
+ *
+ * @return the iso6391Name value.
+ */
+ public String getIso6391Name() {
+ return this.iso6391Name;
+ }
+
+ /**
+ * Set the iso6391Name property: A two letter representation of the
+ * detected language according to the ISO 639-1 standard (e.g. en, fr).
+ *
+ * @param iso6391Name the iso6391Name value to set.
+ * @return the DetectedLanguage object itself.
+ */
+ public DetectedLanguage setIso6391Name(String iso6391Name) {
+ this.iso6391Name = iso6391Name;
+ return this;
+ }
+
+ /**
+ * Get the score property: A confidence score between 0 and 1. Scores close
+ * to 1 indicate 100% certainty that the identified language is true.
+ *
+ * @return the score value.
+ */
+ public double getScore() {
+ return this.score;
+ }
+
+ /**
+ * Set the score property: A confidence score between 0 and 1. Scores close
+ * to 1 indicate 100% certainty that the identified language is true.
+ *
+ * @param score the score value to set.
+ * @return the DetectedLanguage object itself.
+ */
+ public DetectedLanguage setScore(double score) {
+ this.score = score;
+ return this;
+ }
+}
diff --git a/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/DocumentEntities.java b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/DocumentEntities.java
new file mode 100644
index 000000000000..dffd817a1919
--- /dev/null
+++ b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/DocumentEntities.java
@@ -0,0 +1,96 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.ai.textanalytics.implementation.models;
+
+import com.azure.core.annotation.Fluent;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/**
+ * The DocumentEntities model.
+ */
+@Fluent
+public final class DocumentEntities {
+ /*
+ * Unique, non-empty document identifier.
+ */
+ @JsonProperty(value = "id", required = true)
+ private String id;
+
+ /*
+ * Recognized entities in the document.
+ */
+ @JsonProperty(value = "entities", required = true)
+ private List entities;
+
+ /*
+ * if showStats=true was specified in the request this field will contain
+ * information about the document payload.
+ */
+ @JsonProperty(value = "statistics")
+ private DocumentStatistics statistics;
+
+ /**
+ * Get the id property: Unique, non-empty document identifier.
+ *
+ * @return the id value.
+ */
+ public String getId() {
+ return this.id;
+ }
+
+ /**
+ * Set the id property: Unique, non-empty document identifier.
+ *
+ * @param id the id value to set.
+ * @return the DocumentEntities object itself.
+ */
+ public DocumentEntities setId(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get the entities property: Recognized entities in the document.
+ *
+ * @return the entities value.
+ */
+ public List getEntities() {
+ return this.entities;
+ }
+
+ /**
+ * Set the entities property: Recognized entities in the document.
+ *
+ * @param entities the entities value to set.
+ * @return the DocumentEntities object itself.
+ */
+ public DocumentEntities setEntities(List entities) {
+ this.entities = entities;
+ return this;
+ }
+
+ /**
+ * Get the statistics property: if showStats=true was specified in the
+ * request this field will contain information about the document payload.
+ *
+ * @return the statistics value.
+ */
+ public DocumentStatistics getStatistics() {
+ return this.statistics;
+ }
+
+ /**
+ * Set the statistics property: if showStats=true was specified in the
+ * request this field will contain information about the document payload.
+ *
+ * @param statistics the statistics value to set.
+ * @return the DocumentEntities object itself.
+ */
+ public DocumentEntities setStatistics(DocumentStatistics statistics) {
+ this.statistics = statistics;
+ return this;
+ }
+}
diff --git a/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/DocumentError.java b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/DocumentError.java
new file mode 100644
index 000000000000..7813edbe60a9
--- /dev/null
+++ b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/DocumentError.java
@@ -0,0 +1,66 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.ai.textanalytics.implementation.models;
+
+import com.azure.core.annotation.Fluent;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The DocumentError model.
+ */
+@Fluent
+public final class DocumentError {
+ /*
+ * Document Id.
+ */
+ @JsonProperty(value = "id", required = true)
+ private String id;
+
+ /*
+ * Document Error.
+ */
+ @JsonProperty(value = "error", required = true)
+ private TextAnalyticsError error;
+
+ /**
+ * Get the id property: Document Id.
+ *
+ * @return the id value.
+ */
+ public String getId() {
+ return this.id;
+ }
+
+ /**
+ * Set the id property: Document Id.
+ *
+ * @param id the id value to set.
+ * @return the DocumentError object itself.
+ */
+ public DocumentError setId(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get the error property: Document Error.
+ *
+ * @return the error value.
+ */
+ public TextAnalyticsError getError() {
+ return this.error;
+ }
+
+ /**
+ * Set the error property: Document Error.
+ *
+ * @param error the error value to set.
+ * @return the DocumentError object itself.
+ */
+ public DocumentError setError(TextAnalyticsError error) {
+ this.error = error;
+ return this;
+ }
+}
diff --git a/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/DocumentKeyPhrases.java b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/DocumentKeyPhrases.java
new file mode 100644
index 000000000000..e7def8e817f2
--- /dev/null
+++ b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/DocumentKeyPhrases.java
@@ -0,0 +1,101 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.ai.textanalytics.implementation.models;
+
+import com.azure.core.annotation.Fluent;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/**
+ * The DocumentKeyPhrases model.
+ */
+@Fluent
+public final class DocumentKeyPhrases {
+ /*
+ * Unique, non-empty document identifier.
+ */
+ @JsonProperty(value = "id", required = true)
+ private String id;
+
+ /*
+ * A list of representative words or phrases. The number of key phrases
+ * returned is proportional to the number of words in the input document.
+ */
+ @JsonProperty(value = "keyPhrases", required = true)
+ private List keyPhrases;
+
+ /*
+ * if showStats=true was specified in the request this field will contain
+ * information about the document payload.
+ */
+ @JsonProperty(value = "statistics")
+ private DocumentStatistics statistics;
+
+ /**
+ * Get the id property: Unique, non-empty document identifier.
+ *
+ * @return the id value.
+ */
+ public String getId() {
+ return this.id;
+ }
+
+ /**
+ * Set the id property: Unique, non-empty document identifier.
+ *
+ * @param id the id value to set.
+ * @return the DocumentKeyPhrases object itself.
+ */
+ public DocumentKeyPhrases setId(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get the keyPhrases property: A list of representative words or phrases.
+ * The number of key phrases returned is proportional to the number of
+ * words in the input document.
+ *
+ * @return the keyPhrases value.
+ */
+ public List getKeyPhrases() {
+ return this.keyPhrases;
+ }
+
+ /**
+ * Set the keyPhrases property: A list of representative words or phrases.
+ * The number of key phrases returned is proportional to the number of
+ * words in the input document.
+ *
+ * @param keyPhrases the keyPhrases value to set.
+ * @return the DocumentKeyPhrases object itself.
+ */
+ public DocumentKeyPhrases setKeyPhrases(List keyPhrases) {
+ this.keyPhrases = keyPhrases;
+ return this;
+ }
+
+ /**
+ * Get the statistics property: if showStats=true was specified in the
+ * request this field will contain information about the document payload.
+ *
+ * @return the statistics value.
+ */
+ public DocumentStatistics getStatistics() {
+ return this.statistics;
+ }
+
+ /**
+ * Set the statistics property: if showStats=true was specified in the
+ * request this field will contain information about the document payload.
+ *
+ * @param statistics the statistics value to set.
+ * @return the DocumentKeyPhrases object itself.
+ */
+ public DocumentKeyPhrases setStatistics(DocumentStatistics statistics) {
+ this.statistics = statistics;
+ return this;
+ }
+}
diff --git a/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/DocumentLanguage.java b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/DocumentLanguage.java
new file mode 100644
index 000000000000..588292564911
--- /dev/null
+++ b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/DocumentLanguage.java
@@ -0,0 +1,96 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.ai.textanalytics.implementation.models;
+
+import com.azure.core.annotation.Fluent;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/**
+ * The DocumentLanguage model.
+ */
+@Fluent
+public final class DocumentLanguage {
+ /*
+ * Unique, non-empty document identifier.
+ */
+ @JsonProperty(value = "id", required = true)
+ private String id;
+
+ /*
+ * A list of extracted languages.
+ */
+ @JsonProperty(value = "detectedLanguages", required = true)
+ private List detectedLanguages;
+
+ /*
+ * if showStats=true was specified in the request this field will contain
+ * information about the document payload.
+ */
+ @JsonProperty(value = "statistics")
+ private DocumentStatistics statistics;
+
+ /**
+ * Get the id property: Unique, non-empty document identifier.
+ *
+ * @return the id value.
+ */
+ public String getId() {
+ return this.id;
+ }
+
+ /**
+ * Set the id property: Unique, non-empty document identifier.
+ *
+ * @param id the id value to set.
+ * @return the DocumentLanguage object itself.
+ */
+ public DocumentLanguage setId(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get the detectedLanguages property: A list of extracted languages.
+ *
+ * @return the detectedLanguages value.
+ */
+ public List getDetectedLanguages() {
+ return this.detectedLanguages;
+ }
+
+ /**
+ * Set the detectedLanguages property: A list of extracted languages.
+ *
+ * @param detectedLanguages the detectedLanguages value to set.
+ * @return the DocumentLanguage object itself.
+ */
+ public DocumentLanguage setDetectedLanguages(List detectedLanguages) {
+ this.detectedLanguages = detectedLanguages;
+ return this;
+ }
+
+ /**
+ * Get the statistics property: if showStats=true was specified in the
+ * request this field will contain information about the document payload.
+ *
+ * @return the statistics value.
+ */
+ public DocumentStatistics getStatistics() {
+ return this.statistics;
+ }
+
+ /**
+ * Set the statistics property: if showStats=true was specified in the
+ * request this field will contain information about the document payload.
+ *
+ * @param statistics the statistics value to set.
+ * @return the DocumentLanguage object itself.
+ */
+ public DocumentLanguage setStatistics(DocumentStatistics statistics) {
+ this.statistics = statistics;
+ return this;
+ }
+}
diff --git a/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/DocumentLinkedEntities.java b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/DocumentLinkedEntities.java
new file mode 100644
index 000000000000..f3345e8d3cc9
--- /dev/null
+++ b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/DocumentLinkedEntities.java
@@ -0,0 +1,98 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.ai.textanalytics.implementation.models;
+
+import com.azure.core.annotation.Fluent;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/**
+ * The DocumentLinkedEntities model.
+ */
+@Fluent
+public final class DocumentLinkedEntities {
+ /*
+ * Unique, non-empty document identifier.
+ */
+ @JsonProperty(value = "id", required = true)
+ private String id;
+
+ /*
+ * Recognized well-known entities in the document.
+ */
+ @JsonProperty(value = "entities", required = true)
+ private List entities;
+
+ /*
+ * if showStats=true was specified in the request this field will contain
+ * information about the document payload.
+ */
+ @JsonProperty(value = "statistics")
+ private DocumentStatistics statistics;
+
+ /**
+ * Get the id property: Unique, non-empty document identifier.
+ *
+ * @return the id value.
+ */
+ public String getId() {
+ return this.id;
+ }
+
+ /**
+ * Set the id property: Unique, non-empty document identifier.
+ *
+ * @param id the id value to set.
+ * @return the DocumentLinkedEntities object itself.
+ */
+ public DocumentLinkedEntities setId(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get the entities property: Recognized well-known entities in the
+ * document.
+ *
+ * @return the entities value.
+ */
+ public List getEntities() {
+ return this.entities;
+ }
+
+ /**
+ * Set the entities property: Recognized well-known entities in the
+ * document.
+ *
+ * @param entities the entities value to set.
+ * @return the DocumentLinkedEntities object itself.
+ */
+ public DocumentLinkedEntities setEntities(List entities) {
+ this.entities = entities;
+ return this;
+ }
+
+ /**
+ * Get the statistics property: if showStats=true was specified in the
+ * request this field will contain information about the document payload.
+ *
+ * @return the statistics value.
+ */
+ public DocumentStatistics getStatistics() {
+ return this.statistics;
+ }
+
+ /**
+ * Set the statistics property: if showStats=true was specified in the
+ * request this field will contain information about the document payload.
+ *
+ * @param statistics the statistics value to set.
+ * @return the DocumentLinkedEntities object itself.
+ */
+ public DocumentLinkedEntities setStatistics(DocumentStatistics statistics) {
+ this.statistics = statistics;
+ return this;
+ }
+}
diff --git a/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/DocumentSentiment.java b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/DocumentSentiment.java
new file mode 100644
index 000000000000..a02c8fabadc3
--- /dev/null
+++ b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/DocumentSentiment.java
@@ -0,0 +1,154 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.ai.textanalytics.implementation.models;
+
+import com.azure.core.annotation.Fluent;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/**
+ * The DocumentSentiment model.
+ */
+@Fluent
+public final class DocumentSentiment {
+ /*
+ * Unique, non-empty document identifier.
+ */
+ @JsonProperty(value = "id", required = true)
+ private String id;
+
+ /*
+ * Predicted sentiment for document (Negative, Neutral, Positive, or
+ * Mixed). Possible values include: 'positive', 'neutral', 'negative',
+ * 'mixed'
+ */
+ @JsonProperty(value = "sentiment", required = true)
+ private DocumentSentimentValue sentiment;
+
+ /*
+ * The statistics property.
+ */
+ @JsonProperty(value = "statistics")
+ private DocumentStatistics statistics;
+
+ /*
+ * Document level sentiment confidence scores between 0 and 1 for each
+ * sentiment class.
+ */
+ @JsonProperty(value = "documentScores", required = true)
+ private SentimentConfidenceScorePerLabel documentScores;
+
+ /*
+ * Sentence level sentiment analysis.
+ */
+ @JsonProperty(value = "sentences", required = true)
+ private List sentences;
+
+ /**
+ * Get the id property: Unique, non-empty document identifier.
+ *
+ * @return the id value.
+ */
+ public String getId() {
+ return this.id;
+ }
+
+ /**
+ * Set the id property: Unique, non-empty document identifier.
+ *
+ * @param id the id value to set.
+ * @return the DocumentSentiment object itself.
+ */
+ public DocumentSentiment setId(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get the sentiment property: Predicted sentiment for document (Negative,
+ * Neutral, Positive, or Mixed). Possible values include: 'positive',
+ * 'neutral', 'negative', 'mixed'.
+ *
+ * @return the sentiment value.
+ */
+ public DocumentSentimentValue getSentiment() {
+ return this.sentiment;
+ }
+
+ /**
+ * Set the sentiment property: Predicted sentiment for document (Negative,
+ * Neutral, Positive, or Mixed). Possible values include: 'positive',
+ * 'neutral', 'negative', 'mixed'.
+ *
+ * @param sentiment the sentiment value to set.
+ * @return the DocumentSentiment object itself.
+ */
+ public DocumentSentiment setSentiment(DocumentSentimentValue sentiment) {
+ this.sentiment = sentiment;
+ return this;
+ }
+
+ /**
+ * Get the statistics property: The statistics property.
+ *
+ * @return the statistics value.
+ */
+ public DocumentStatistics getStatistics() {
+ return this.statistics;
+ }
+
+ /**
+ * Set the statistics property: The statistics property.
+ *
+ * @param statistics the statistics value to set.
+ * @return the DocumentSentiment object itself.
+ */
+ public DocumentSentiment setStatistics(DocumentStatistics statistics) {
+ this.statistics = statistics;
+ return this;
+ }
+
+ /**
+ * Get the documentScores property: Document level sentiment confidence
+ * scores between 0 and 1 for each sentiment class.
+ *
+ * @return the documentScores value.
+ */
+ public SentimentConfidenceScorePerLabel getDocumentScores() {
+ return this.documentScores;
+ }
+
+ /**
+ * Set the documentScores property: Document level sentiment confidence
+ * scores between 0 and 1 for each sentiment class.
+ *
+ * @param documentScores the documentScores value to set.
+ * @return the DocumentSentiment object itself.
+ */
+ public DocumentSentiment setDocumentScores(SentimentConfidenceScorePerLabel documentScores) {
+ this.documentScores = documentScores;
+ return this;
+ }
+
+ /**
+ * Get the sentences property: Sentence level sentiment analysis.
+ *
+ * @return the sentences value.
+ */
+ public List getSentences() {
+ return this.sentences;
+ }
+
+ /**
+ * Set the sentences property: Sentence level sentiment analysis.
+ *
+ * @param sentences the sentences value to set.
+ * @return the DocumentSentiment object itself.
+ */
+ public DocumentSentiment setSentences(List sentences) {
+ this.sentences = sentences;
+ return this;
+ }
+}
diff --git a/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/DocumentSentimentValue.java b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/DocumentSentimentValue.java
new file mode 100644
index 000000000000..96af38b7ab1a
--- /dev/null
+++ b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/DocumentSentimentValue.java
@@ -0,0 +1,65 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.ai.textanalytics.implementation.models;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for DocumentSentimentValue.
+ */
+public enum DocumentSentimentValue {
+ /**
+ * Enum value positive.
+ */
+ POSITIVE("positive"),
+
+ /**
+ * Enum value neutral.
+ */
+ NEUTRAL("neutral"),
+
+ /**
+ * Enum value negative.
+ */
+ NEGATIVE("negative"),
+
+ /**
+ * Enum value mixed.
+ */
+ MIXED("mixed");
+
+ /**
+ * The actual serialized value for a DocumentSentimentValue instance.
+ */
+ private final String value;
+
+ DocumentSentimentValue(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a DocumentSentimentValue instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed DocumentSentimentValue object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static DocumentSentimentValue fromString(String value) {
+ DocumentSentimentValue[] items = DocumentSentimentValue.values();
+ for (DocumentSentimentValue item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/DocumentStatistics.java b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/DocumentStatistics.java
new file mode 100644
index 000000000000..6dac964785f1
--- /dev/null
+++ b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/DocumentStatistics.java
@@ -0,0 +1,71 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.ai.textanalytics.implementation.models;
+
+import com.azure.core.annotation.Fluent;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * if showStats=true was specified in the request this field will contain
+ * information about the document payload.
+ */
+@Fluent
+public final class DocumentStatistics {
+ /*
+ * Number of text elements recognized in the document.
+ */
+ @JsonProperty(value = "charactersCount", required = true)
+ private int charactersCount;
+
+ /*
+ * Number of transactions for the document.
+ */
+ @JsonProperty(value = "transactionsCount", required = true)
+ private int transactionsCount;
+
+ /**
+ * Get the charactersCount property: Number of text elements recognized in
+ * the document.
+ *
+ * @return the charactersCount value.
+ */
+ public int getCharactersCount() {
+ return this.charactersCount;
+ }
+
+ /**
+ * Set the charactersCount property: Number of text elements recognized in
+ * the document.
+ *
+ * @param charactersCount the charactersCount value to set.
+ * @return the DocumentStatistics object itself.
+ */
+ public DocumentStatistics setCharactersCount(int charactersCount) {
+ this.charactersCount = charactersCount;
+ return this;
+ }
+
+ /**
+ * Get the transactionsCount property: Number of transactions for the
+ * document.
+ *
+ * @return the transactionsCount value.
+ */
+ public int getTransactionsCount() {
+ return this.transactionsCount;
+ }
+
+ /**
+ * Set the transactionsCount property: Number of transactions for the
+ * document.
+ *
+ * @param transactionsCount the transactionsCount value to set.
+ * @return the DocumentStatistics object itself.
+ */
+ public DocumentStatistics setTransactionsCount(int transactionsCount) {
+ this.transactionsCount = transactionsCount;
+ return this;
+ }
+}
diff --git a/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/EntitiesResult.java b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/EntitiesResult.java
new file mode 100644
index 000000000000..e80597e11c8e
--- /dev/null
+++ b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/EntitiesResult.java
@@ -0,0 +1,121 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.ai.textanalytics.implementation.models;
+
+import com.azure.core.annotation.Fluent;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/**
+ * The EntitiesResult model.
+ */
+@Fluent
+public final class EntitiesResult {
+ /*
+ * Response by document
+ */
+ @JsonProperty(value = "documents", required = true)
+ private List documents;
+
+ /*
+ * Errors by document id.
+ */
+ @JsonProperty(value = "errors", required = true)
+ private List errors;
+
+ /*
+ * The statistics property.
+ */
+ @JsonProperty(value = "statistics")
+ private RequestStatistics statistics;
+
+ /*
+ * This field indicates which model is used for scoring.
+ */
+ @JsonProperty(value = "modelVersion", required = true)
+ private String modelVersion;
+
+ /**
+ * Get the documents property: Response by document.
+ *
+ * @return the documents value.
+ */
+ public List getDocuments() {
+ return this.documents;
+ }
+
+ /**
+ * Set the documents property: Response by document.
+ *
+ * @param documents the documents value to set.
+ * @return the EntitiesResult object itself.
+ */
+ public EntitiesResult setDocuments(List documents) {
+ this.documents = documents;
+ return this;
+ }
+
+ /**
+ * Get the errors property: Errors by document id.
+ *
+ * @return the errors value.
+ */
+ public List getErrors() {
+ return this.errors;
+ }
+
+ /**
+ * Set the errors property: Errors by document id.
+ *
+ * @param errors the errors value to set.
+ * @return the EntitiesResult object itself.
+ */
+ public EntitiesResult setErrors(List errors) {
+ this.errors = errors;
+ return this;
+ }
+
+ /**
+ * Get the statistics property: The statistics property.
+ *
+ * @return the statistics value.
+ */
+ public RequestStatistics getStatistics() {
+ return this.statistics;
+ }
+
+ /**
+ * Set the statistics property: The statistics property.
+ *
+ * @param statistics the statistics value to set.
+ * @return the EntitiesResult object itself.
+ */
+ public EntitiesResult setStatistics(RequestStatistics statistics) {
+ this.statistics = statistics;
+ return this;
+ }
+
+ /**
+ * Get the modelVersion property: This field indicates which model is used
+ * for scoring.
+ *
+ * @return the modelVersion value.
+ */
+ public String getModelVersion() {
+ return this.modelVersion;
+ }
+
+ /**
+ * Set the modelVersion property: This field indicates which model is used
+ * for scoring.
+ *
+ * @param modelVersion the modelVersion value to set.
+ * @return the EntitiesResult object itself.
+ */
+ public EntitiesResult setModelVersion(String modelVersion) {
+ this.modelVersion = modelVersion;
+ return this;
+ }
+}
diff --git a/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/Entity.java b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/Entity.java
new file mode 100644
index 000000000000..1c781826bd9b
--- /dev/null
+++ b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/Entity.java
@@ -0,0 +1,178 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.ai.textanalytics.implementation.models;
+
+import com.azure.core.annotation.Fluent;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The Entity model.
+ */
+@Fluent
+public final class Entity {
+ /*
+ * Entity text as appears in the request.
+ */
+ @JsonProperty(value = "text", required = true)
+ private String text;
+
+ /*
+ * Entity type, such as Person/Location/Org/SSN etc
+ */
+ @JsonProperty(value = "type", required = true)
+ private String type;
+
+ /*
+ * Entity sub type, such as Age/Year/TimeRange etc
+ */
+ @JsonProperty(value = "subtype")
+ private String subtype;
+
+ /*
+ * Start position (in Unicode characters) for the entity text.
+ */
+ @JsonProperty(value = "offset", required = true)
+ private int offset;
+
+ /*
+ * Length (in Unicode characters) for the entity text.
+ */
+ @JsonProperty(value = "length", required = true)
+ private int length;
+
+ /*
+ * Confidence score between 0 and 1 of the extracted entity.
+ */
+ @JsonProperty(value = "score", required = true)
+ private double score;
+
+ /**
+ * Get the text property: Entity text as appears in the request.
+ *
+ * @return the text value.
+ */
+ public String getText() {
+ return this.text;
+ }
+
+ /**
+ * Set the text property: Entity text as appears in the request.
+ *
+ * @param text the text value to set.
+ * @return the Entity object itself.
+ */
+ public Entity setText(String text) {
+ this.text = text;
+ return this;
+ }
+
+ /**
+ * Get the type property: Entity type, such as Person/Location/Org/SSN etc.
+ *
+ * @return the type value.
+ */
+ public String getType() {
+ return this.type;
+ }
+
+ /**
+ * Set the type property: Entity type, such as Person/Location/Org/SSN etc.
+ *
+ * @param type the type value to set.
+ * @return the Entity object itself.
+ */
+ public Entity setType(String type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Get the subtype property: Entity sub type, such as Age/Year/TimeRange
+ * etc.
+ *
+ * @return the subtype value.
+ */
+ public String getSubtype() {
+ return this.subtype;
+ }
+
+ /**
+ * Set the subtype property: Entity sub type, such as Age/Year/TimeRange
+ * etc.
+ *
+ * @param subtype the subtype value to set.
+ * @return the Entity object itself.
+ */
+ public Entity setSubtype(String subtype) {
+ this.subtype = subtype;
+ return this;
+ }
+
+ /**
+ * Get the offset property: Start position (in Unicode characters) for the
+ * entity text.
+ *
+ * @return the offset value.
+ */
+ public int getOffset() {
+ return this.offset;
+ }
+
+ /**
+ * Set the offset property: Start position (in Unicode characters) for the
+ * entity text.
+ *
+ * @param offset the offset value to set.
+ * @return the Entity object itself.
+ */
+ public Entity setOffset(int offset) {
+ this.offset = offset;
+ return this;
+ }
+
+ /**
+ * Get the length property: Length (in Unicode characters) for the entity
+ * text.
+ *
+ * @return the length value.
+ */
+ public int getLength() {
+ return this.length;
+ }
+
+ /**
+ * Set the length property: Length (in Unicode characters) for the entity
+ * text.
+ *
+ * @param length the length value to set.
+ * @return the Entity object itself.
+ */
+ public Entity setLength(int length) {
+ this.length = length;
+ return this;
+ }
+
+ /**
+ * Get the score property: Confidence score between 0 and 1 of the
+ * extracted entity.
+ *
+ * @return the score value.
+ */
+ public double getScore() {
+ return this.score;
+ }
+
+ /**
+ * Set the score property: Confidence score between 0 and 1 of the
+ * extracted entity.
+ *
+ * @param score the score value to set.
+ * @return the Entity object itself.
+ */
+ public Entity setScore(double score) {
+ this.score = score;
+ return this;
+ }
+}
diff --git a/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/EntityLinkingResult.java b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/EntityLinkingResult.java
new file mode 100644
index 000000000000..8c0d733e4b67
--- /dev/null
+++ b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/EntityLinkingResult.java
@@ -0,0 +1,121 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.ai.textanalytics.implementation.models;
+
+import com.azure.core.annotation.Fluent;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/**
+ * The EntityLinkingResult model.
+ */
+@Fluent
+public final class EntityLinkingResult {
+ /*
+ * Response by document
+ */
+ @JsonProperty(value = "documents", required = true)
+ private List documents;
+
+ /*
+ * Errors by document id.
+ */
+ @JsonProperty(value = "errors", required = true)
+ private List errors;
+
+ /*
+ * The statistics property.
+ */
+ @JsonProperty(value = "statistics")
+ private RequestStatistics statistics;
+
+ /*
+ * This field indicates which model is used for scoring.
+ */
+ @JsonProperty(value = "modelVersion", required = true)
+ private String modelVersion;
+
+ /**
+ * Get the documents property: Response by document.
+ *
+ * @return the documents value.
+ */
+ public List getDocuments() {
+ return this.documents;
+ }
+
+ /**
+ * Set the documents property: Response by document.
+ *
+ * @param documents the documents value to set.
+ * @return the EntityLinkingResult object itself.
+ */
+ public EntityLinkingResult setDocuments(List documents) {
+ this.documents = documents;
+ return this;
+ }
+
+ /**
+ * Get the errors property: Errors by document id.
+ *
+ * @return the errors value.
+ */
+ public List getErrors() {
+ return this.errors;
+ }
+
+ /**
+ * Set the errors property: Errors by document id.
+ *
+ * @param errors the errors value to set.
+ * @return the EntityLinkingResult object itself.
+ */
+ public EntityLinkingResult setErrors(List errors) {
+ this.errors = errors;
+ return this;
+ }
+
+ /**
+ * Get the statistics property: The statistics property.
+ *
+ * @return the statistics value.
+ */
+ public RequestStatistics getStatistics() {
+ return this.statistics;
+ }
+
+ /**
+ * Set the statistics property: The statistics property.
+ *
+ * @param statistics the statistics value to set.
+ * @return the EntityLinkingResult object itself.
+ */
+ public EntityLinkingResult setStatistics(RequestStatistics statistics) {
+ this.statistics = statistics;
+ return this;
+ }
+
+ /**
+ * Get the modelVersion property: This field indicates which model is used
+ * for scoring.
+ *
+ * @return the modelVersion value.
+ */
+ public String getModelVersion() {
+ return this.modelVersion;
+ }
+
+ /**
+ * Set the modelVersion property: This field indicates which model is used
+ * for scoring.
+ *
+ * @param modelVersion the modelVersion value to set.
+ * @return the EntityLinkingResult object itself.
+ */
+ public EntityLinkingResult setModelVersion(String modelVersion) {
+ this.modelVersion = modelVersion;
+ return this;
+ }
+}
diff --git a/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/ErrorCodeValue.java b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/ErrorCodeValue.java
new file mode 100644
index 000000000000..2a00a654b655
--- /dev/null
+++ b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/ErrorCodeValue.java
@@ -0,0 +1,65 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.ai.textanalytics.implementation.models;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for ErrorCodeValue.
+ */
+public enum ErrorCodeValue {
+ /**
+ * Enum value invalidRequest.
+ */
+ INVALID_REQUEST("invalidRequest"),
+
+ /**
+ * Enum value invalidArgument.
+ */
+ INVALID_ARGUMENT("invalidArgument"),
+
+ /**
+ * Enum value internalServerError.
+ */
+ INTERNAL_SERVER_ERROR("internalServerError"),
+
+ /**
+ * Enum value serviceUnavailable.
+ */
+ SERVICE_UNAVAILABLE("serviceUnavailable");
+
+ /**
+ * The actual serialized value for a ErrorCodeValue instance.
+ */
+ private final String value;
+
+ ErrorCodeValue(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a ErrorCodeValue instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed ErrorCodeValue object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static ErrorCodeValue fromString(String value) {
+ ErrorCodeValue[] items = ErrorCodeValue.values();
+ for (ErrorCodeValue item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/ErrorException.java b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/ErrorException.java
new file mode 100644
index 000000000000..a163a5638869
--- /dev/null
+++ b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/ErrorException.java
@@ -0,0 +1,39 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.ai.textanalytics.implementation.models;
+
+import com.azure.core.exception.HttpResponseException;
+import com.azure.core.http.HttpResponse;
+
+/**
+ * Exception thrown for an invalid response with Error information.
+ */
+public final class ErrorException extends HttpResponseException {
+ /**
+ * Initializes a new instance of the ErrorException class.
+ *
+ * @param message the exception message or the response content if a message is not available.
+ * @param response the HTTP response.
+ */
+ public ErrorException(String message, HttpResponse response) {
+ super(message, response);
+ }
+
+ /**
+ * Initializes a new instance of the ErrorException class.
+ *
+ * @param message the exception message or the response content if a message is not available.
+ * @param response the HTTP response.
+ * @param value the deserialized response value.
+ */
+ public ErrorException(String message, HttpResponse response, Error value) {
+ super(message, response, value);
+ }
+
+ @Override
+ public Error getValue() {
+ return (Error) super.getValue();
+ }
+}
diff --git a/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/InnerError.java b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/InnerError.java
new file mode 100644
index 000000000000..ea1339baed9e
--- /dev/null
+++ b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/InnerError.java
@@ -0,0 +1,156 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.ai.textanalytics.implementation.models;
+
+import com.azure.core.annotation.Fluent;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Map;
+
+/**
+ * The InnerError model.
+ */
+@Fluent
+public final class InnerError {
+ /*
+ * Error code. Possible values include: 'invalidParameterValue',
+ * 'invalidRequestBodyFormat', 'emptyRequest', 'missingInputRecords',
+ * 'invalidDocument', 'modelVersionIncorrect', 'invalidDocumentBatch',
+ * 'unsupportedLanguageCode', 'invalidCountryHint'
+ */
+ @JsonProperty(value = "code", required = true)
+ private InnerErrorCodeValue code;
+
+ /*
+ * Error message.
+ */
+ @JsonProperty(value = "message", required = true)
+ private String message;
+
+ /*
+ * Error details.
+ */
+ @JsonProperty(value = "details")
+ private Map details;
+
+ /*
+ * Error target.
+ */
+ @JsonProperty(value = "target")
+ private String target;
+
+ /*
+ * Inner error contains more specific information.
+ */
+ @JsonProperty(value = "innerError")
+ private InnerError innerError;
+
+ /**
+ * Get the code property: Error code. Possible values include:
+ * 'invalidParameterValue', 'invalidRequestBodyFormat', 'emptyRequest',
+ * 'missingInputRecords', 'invalidDocument', 'modelVersionIncorrect',
+ * 'invalidDocumentBatch', 'unsupportedLanguageCode', 'invalidCountryHint'.
+ *
+ * @return the code value.
+ */
+ public InnerErrorCodeValue getCode() {
+ return this.code;
+ }
+
+ /**
+ * Set the code property: Error code. Possible values include:
+ * 'invalidParameterValue', 'invalidRequestBodyFormat', 'emptyRequest',
+ * 'missingInputRecords', 'invalidDocument', 'modelVersionIncorrect',
+ * 'invalidDocumentBatch', 'unsupportedLanguageCode', 'invalidCountryHint'.
+ *
+ * @param code the code value to set.
+ * @return the InnerError object itself.
+ */
+ public InnerError setCode(InnerErrorCodeValue code) {
+ this.code = code;
+ return this;
+ }
+
+ /**
+ * Get the message property: Error message.
+ *
+ * @return the message value.
+ */
+ public String getMessage() {
+ return this.message;
+ }
+
+ /**
+ * Set the message property: Error message.
+ *
+ * @param message the message value to set.
+ * @return the InnerError object itself.
+ */
+ public InnerError setMessage(String message) {
+ this.message = message;
+ return this;
+ }
+
+ /**
+ * Get the details property: Error details.
+ *
+ * @return the details value.
+ */
+ public Map getDetails() {
+ return this.details;
+ }
+
+ /**
+ * Set the details property: Error details.
+ *
+ * @param details the details value to set.
+ * @return the InnerError object itself.
+ */
+ public InnerError setDetails(Map details) {
+ this.details = details;
+ return this;
+ }
+
+ /**
+ * Get the target property: Error target.
+ *
+ * @return the target value.
+ */
+ public String getTarget() {
+ return this.target;
+ }
+
+ /**
+ * Set the target property: Error target.
+ *
+ * @param target the target value to set.
+ * @return the InnerError object itself.
+ */
+ public InnerError setTarget(String target) {
+ this.target = target;
+ return this;
+ }
+
+ /**
+ * Get the innerError property: Inner error contains more specific
+ * information.
+ *
+ * @return the innerError value.
+ */
+ public InnerError getInnerError() {
+ return this.innerError;
+ }
+
+ /**
+ * Set the innerError property: Inner error contains more specific
+ * information.
+ *
+ * @param innerError the innerError value to set.
+ * @return the InnerError object itself.
+ */
+ public InnerError setInnerError(InnerError innerError) {
+ this.innerError = innerError;
+ return this;
+ }
+}
diff --git a/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/InnerErrorCodeValue.java b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/InnerErrorCodeValue.java
new file mode 100644
index 000000000000..caec203e43b7
--- /dev/null
+++ b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/InnerErrorCodeValue.java
@@ -0,0 +1,90 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.ai.textanalytics.implementation.models;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for InnerErrorCodeValue.
+ */
+public enum InnerErrorCodeValue {
+ /**
+ * Enum value invalidParameterValue.
+ */
+ INVALID_PARAMETER_VALUE("invalidParameterValue"),
+
+ /**
+ * Enum value invalidRequestBodyFormat.
+ */
+ INVALID_REQUEST_BODY_FORMAT("invalidRequestBodyFormat"),
+
+ /**
+ * Enum value emptyRequest.
+ */
+ EMPTY_REQUEST("emptyRequest"),
+
+ /**
+ * Enum value missingInputRecords.
+ */
+ MISSING_INPUT_RECORDS("missingInputRecords"),
+
+ /**
+ * Enum value invalidDocument.
+ */
+ INVALID_DOCUMENT("invalidDocument"),
+
+ /**
+ * Enum value modelVersionIncorrect.
+ */
+ MODEL_VERSION_INCORRECT("modelVersionIncorrect"),
+
+ /**
+ * Enum value invalidDocumentBatch.
+ */
+ INVALID_DOCUMENT_BATCH("invalidDocumentBatch"),
+
+ /**
+ * Enum value unsupportedLanguageCode.
+ */
+ UNSUPPORTED_LANGUAGE_CODE("unsupportedLanguageCode"),
+
+ /**
+ * Enum value invalidCountryHint.
+ */
+ INVALID_COUNTRY_HINT("invalidCountryHint");
+
+ /**
+ * The actual serialized value for a InnerErrorCodeValue instance.
+ */
+ private final String value;
+
+ InnerErrorCodeValue(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a InnerErrorCodeValue instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed InnerErrorCodeValue object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static InnerErrorCodeValue fromString(String value) {
+ InnerErrorCodeValue[] items = InnerErrorCodeValue.values();
+ for (InnerErrorCodeValue item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/KeyPhraseResult.java b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/KeyPhraseResult.java
new file mode 100644
index 000000000000..7c19d60a2e5c
--- /dev/null
+++ b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/KeyPhraseResult.java
@@ -0,0 +1,121 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.ai.textanalytics.implementation.models;
+
+import com.azure.core.annotation.Fluent;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/**
+ * The KeyPhraseResult model.
+ */
+@Fluent
+public final class KeyPhraseResult {
+ /*
+ * Response by document
+ */
+ @JsonProperty(value = "documents", required = true)
+ private List documents;
+
+ /*
+ * Errors by document id.
+ */
+ @JsonProperty(value = "errors", required = true)
+ private List errors;
+
+ /*
+ * The statistics property.
+ */
+ @JsonProperty(value = "statistics")
+ private RequestStatistics statistics;
+
+ /*
+ * This field indicates which model is used for scoring.
+ */
+ @JsonProperty(value = "modelVersion", required = true)
+ private String modelVersion;
+
+ /**
+ * Get the documents property: Response by document.
+ *
+ * @return the documents value.
+ */
+ public List getDocuments() {
+ return this.documents;
+ }
+
+ /**
+ * Set the documents property: Response by document.
+ *
+ * @param documents the documents value to set.
+ * @return the KeyPhraseResult object itself.
+ */
+ public KeyPhraseResult setDocuments(List documents) {
+ this.documents = documents;
+ return this;
+ }
+
+ /**
+ * Get the errors property: Errors by document id.
+ *
+ * @return the errors value.
+ */
+ public List getErrors() {
+ return this.errors;
+ }
+
+ /**
+ * Set the errors property: Errors by document id.
+ *
+ * @param errors the errors value to set.
+ * @return the KeyPhraseResult object itself.
+ */
+ public KeyPhraseResult setErrors(List errors) {
+ this.errors = errors;
+ return this;
+ }
+
+ /**
+ * Get the statistics property: The statistics property.
+ *
+ * @return the statistics value.
+ */
+ public RequestStatistics getStatistics() {
+ return this.statistics;
+ }
+
+ /**
+ * Set the statistics property: The statistics property.
+ *
+ * @param statistics the statistics value to set.
+ * @return the KeyPhraseResult object itself.
+ */
+ public KeyPhraseResult setStatistics(RequestStatistics statistics) {
+ this.statistics = statistics;
+ return this;
+ }
+
+ /**
+ * Get the modelVersion property: This field indicates which model is used
+ * for scoring.
+ *
+ * @return the modelVersion value.
+ */
+ public String getModelVersion() {
+ return this.modelVersion;
+ }
+
+ /**
+ * Set the modelVersion property: This field indicates which model is used
+ * for scoring.
+ *
+ * @param modelVersion the modelVersion value to set.
+ * @return the KeyPhraseResult object itself.
+ */
+ public KeyPhraseResult setModelVersion(String modelVersion) {
+ this.modelVersion = modelVersion;
+ return this;
+ }
+}
diff --git a/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/LanguageBatchInput.java b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/LanguageBatchInput.java
new file mode 100644
index 000000000000..dff194489582
--- /dev/null
+++ b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/LanguageBatchInput.java
@@ -0,0 +1,41 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.ai.textanalytics.implementation.models;
+
+import com.azure.core.annotation.Fluent;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/**
+ * The LanguageBatchInput model.
+ */
+@Fluent
+public final class LanguageBatchInput {
+ /*
+ * The documents property.
+ */
+ @JsonProperty(value = "documents", required = true)
+ private List documents;
+
+ /**
+ * Get the documents property: The documents property.
+ *
+ * @return the documents value.
+ */
+ public List getDocuments() {
+ return this.documents;
+ }
+
+ /**
+ * Set the documents property: The documents property.
+ *
+ * @param documents the documents value to set.
+ * @return the LanguageBatchInput object itself.
+ */
+ public LanguageBatchInput setDocuments(List documents) {
+ this.documents = documents;
+ return this;
+ }
+}
diff --git a/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/LanguageInput.java b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/LanguageInput.java
new file mode 100644
index 000000000000..da18b248fa8a
--- /dev/null
+++ b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/LanguageInput.java
@@ -0,0 +1,92 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.ai.textanalytics.implementation.models;
+
+import com.azure.core.annotation.Fluent;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The LanguageInput model.
+ */
+@Fluent
+public final class LanguageInput {
+ /*
+ * Unique, non-empty document identifier.
+ */
+ @JsonProperty(value = "id", required = true)
+ private String id;
+
+ /*
+ * The text property.
+ */
+ @JsonProperty(value = "text", required = true)
+ private String text;
+
+ /*
+ * The countryHint property.
+ */
+ @JsonProperty(value = "countryHint")
+ private String countryHint;
+
+ /**
+ * Get the id property: Unique, non-empty document identifier.
+ *
+ * @return the id value.
+ */
+ public String getId() {
+ return this.id;
+ }
+
+ /**
+ * Set the id property: Unique, non-empty document identifier.
+ *
+ * @param id the id value to set.
+ * @return the LanguageInput object itself.
+ */
+ public LanguageInput setId(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get the text property: The text property.
+ *
+ * @return the text value.
+ */
+ public String getText() {
+ return this.text;
+ }
+
+ /**
+ * Set the text property: The text property.
+ *
+ * @param text the text value to set.
+ * @return the LanguageInput object itself.
+ */
+ public LanguageInput setText(String text) {
+ this.text = text;
+ return this;
+ }
+
+ /**
+ * Get the countryHint property: The countryHint property.
+ *
+ * @return the countryHint value.
+ */
+ public String getCountryHint() {
+ return this.countryHint;
+ }
+
+ /**
+ * Set the countryHint property: The countryHint property.
+ *
+ * @param countryHint the countryHint value to set.
+ * @return the LanguageInput object itself.
+ */
+ public LanguageInput setCountryHint(String countryHint) {
+ this.countryHint = countryHint;
+ return this;
+ }
+}
diff --git a/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/LanguageResult.java b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/LanguageResult.java
new file mode 100644
index 000000000000..82e11308d49c
--- /dev/null
+++ b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/LanguageResult.java
@@ -0,0 +1,121 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.ai.textanalytics.implementation.models;
+
+import com.azure.core.annotation.Fluent;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/**
+ * The LanguageResult model.
+ */
+@Fluent
+public final class LanguageResult {
+ /*
+ * Response by document
+ */
+ @JsonProperty(value = "documents", required = true)
+ private List documents;
+
+ /*
+ * Errors by document id.
+ */
+ @JsonProperty(value = "errors", required = true)
+ private List errors;
+
+ /*
+ * The statistics property.
+ */
+ @JsonProperty(value = "statistics")
+ private RequestStatistics statistics;
+
+ /*
+ * This field indicates which model is used for scoring.
+ */
+ @JsonProperty(value = "modelVersion", required = true)
+ private String modelVersion;
+
+ /**
+ * Get the documents property: Response by document.
+ *
+ * @return the documents value.
+ */
+ public List getDocuments() {
+ return this.documents;
+ }
+
+ /**
+ * Set the documents property: Response by document.
+ *
+ * @param documents the documents value to set.
+ * @return the LanguageResult object itself.
+ */
+ public LanguageResult setDocuments(List documents) {
+ this.documents = documents;
+ return this;
+ }
+
+ /**
+ * Get the errors property: Errors by document id.
+ *
+ * @return the errors value.
+ */
+ public List getErrors() {
+ return this.errors;
+ }
+
+ /**
+ * Set the errors property: Errors by document id.
+ *
+ * @param errors the errors value to set.
+ * @return the LanguageResult object itself.
+ */
+ public LanguageResult setErrors(List errors) {
+ this.errors = errors;
+ return this;
+ }
+
+ /**
+ * Get the statistics property: The statistics property.
+ *
+ * @return the statistics value.
+ */
+ public RequestStatistics getStatistics() {
+ return this.statistics;
+ }
+
+ /**
+ * Set the statistics property: The statistics property.
+ *
+ * @param statistics the statistics value to set.
+ * @return the LanguageResult object itself.
+ */
+ public LanguageResult setStatistics(RequestStatistics statistics) {
+ this.statistics = statistics;
+ return this;
+ }
+
+ /**
+ * Get the modelVersion property: This field indicates which model is used
+ * for scoring.
+ *
+ * @return the modelVersion value.
+ */
+ public String getModelVersion() {
+ return this.modelVersion;
+ }
+
+ /**
+ * Set the modelVersion property: This field indicates which model is used
+ * for scoring.
+ *
+ * @param modelVersion the modelVersion value to set.
+ * @return the LanguageResult object itself.
+ */
+ public LanguageResult setModelVersion(String modelVersion) {
+ this.modelVersion = modelVersion;
+ return this;
+ }
+}
diff --git a/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/LinkedEntity.java b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/LinkedEntity.java
new file mode 100644
index 000000000000..0c3b2fd9f859
--- /dev/null
+++ b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/LinkedEntity.java
@@ -0,0 +1,177 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.ai.textanalytics.implementation.models;
+
+import com.azure.core.annotation.Fluent;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/**
+ * The LinkedEntity model.
+ */
+@Fluent
+public final class LinkedEntity {
+ /*
+ * Entity Linking formal name.
+ */
+ @JsonProperty(value = "name", required = true)
+ private String name;
+
+ /*
+ * List of instances this entity appears in the text.
+ */
+ @JsonProperty(value = "matches", required = true)
+ private List matches;
+
+ /*
+ * Language used in the data source.
+ */
+ @JsonProperty(value = "language", required = true)
+ private String language;
+
+ /*
+ * Unique identifier of the recognized entity from the data source.
+ */
+ @JsonProperty(value = "id")
+ private String id;
+
+ /*
+ * URL for the entity's page from the data source.
+ */
+ @JsonProperty(value = "url", required = true)
+ private String url;
+
+ /*
+ * Data source used to extract entity linking, such as Wiki/Bing etc.
+ */
+ @JsonProperty(value = "dataSource", required = true)
+ private String dataSource;
+
+ /**
+ * Get the name property: Entity Linking formal name.
+ *
+ * @return the name value.
+ */
+ public String getName() {
+ return this.name;
+ }
+
+ /**
+ * Set the name property: Entity Linking formal name.
+ *
+ * @param name the name value to set.
+ * @return the LinkedEntity object itself.
+ */
+ public LinkedEntity setName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the matches property: List of instances this entity appears in the
+ * text.
+ *
+ * @return the matches value.
+ */
+ public List getMatches() {
+ return this.matches;
+ }
+
+ /**
+ * Set the matches property: List of instances this entity appears in the
+ * text.
+ *
+ * @param matches the matches value to set.
+ * @return the LinkedEntity object itself.
+ */
+ public LinkedEntity setMatches(List matches) {
+ this.matches = matches;
+ return this;
+ }
+
+ /**
+ * Get the language property: Language used in the data source.
+ *
+ * @return the language value.
+ */
+ public String getLanguage() {
+ return this.language;
+ }
+
+ /**
+ * Set the language property: Language used in the data source.
+ *
+ * @param language the language value to set.
+ * @return the LinkedEntity object itself.
+ */
+ public LinkedEntity setLanguage(String language) {
+ this.language = language;
+ return this;
+ }
+
+ /**
+ * Get the id property: Unique identifier of the recognized entity from the
+ * data source.
+ *
+ * @return the id value.
+ */
+ public String getId() {
+ return this.id;
+ }
+
+ /**
+ * Set the id property: Unique identifier of the recognized entity from the
+ * data source.
+ *
+ * @param id the id value to set.
+ * @return the LinkedEntity object itself.
+ */
+ public LinkedEntity setId(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get the url property: URL for the entity's page from the data source.
+ *
+ * @return the url value.
+ */
+ public String getUrl() {
+ return this.url;
+ }
+
+ /**
+ * Set the url property: URL for the entity's page from the data source.
+ *
+ * @param url the url value to set.
+ * @return the LinkedEntity object itself.
+ */
+ public LinkedEntity setUrl(String url) {
+ this.url = url;
+ return this;
+ }
+
+ /**
+ * Get the dataSource property: Data source used to extract entity linking,
+ * such as Wiki/Bing etc.
+ *
+ * @return the dataSource value.
+ */
+ public String getDataSource() {
+ return this.dataSource;
+ }
+
+ /**
+ * Set the dataSource property: Data source used to extract entity linking,
+ * such as Wiki/Bing etc.
+ *
+ * @param dataSource the dataSource value to set.
+ * @return the LinkedEntity object itself.
+ */
+ public LinkedEntity setDataSource(String dataSource) {
+ this.dataSource = dataSource;
+ return this;
+ }
+}
diff --git a/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/Match.java b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/Match.java
new file mode 100644
index 000000000000..cdd4e4a6fa18
--- /dev/null
+++ b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/Match.java
@@ -0,0 +1,125 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.ai.textanalytics.implementation.models;
+
+import com.azure.core.annotation.Fluent;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The Match model.
+ */
+@Fluent
+public final class Match {
+ /*
+ * If a well-known item is recognized, a decimal number denoting the
+ * confidence level between 0 and 1 will be returned.
+ */
+ @JsonProperty(value = "score", required = true)
+ private double score;
+
+ /*
+ * Entity text as appears in the request.
+ */
+ @JsonProperty(value = "text", required = true)
+ private String text;
+
+ /*
+ * Start position (in Unicode characters) for the entity match text.
+ */
+ @JsonProperty(value = "offset", required = true)
+ private int offset;
+
+ /*
+ * Length (in Unicode characters) for the entity match text.
+ */
+ @JsonProperty(value = "length", required = true)
+ private int length;
+
+ /**
+ * Get the score property: If a well-known item is recognized, a decimal
+ * number denoting the confidence level between 0 and 1 will be returned.
+ *
+ * @return the score value.
+ */
+ public double getScore() {
+ return this.score;
+ }
+
+ /**
+ * Set the score property: If a well-known item is recognized, a decimal
+ * number denoting the confidence level between 0 and 1 will be returned.
+ *
+ * @param score the score value to set.
+ * @return the Match object itself.
+ */
+ public Match setScore(double score) {
+ this.score = score;
+ return this;
+ }
+
+ /**
+ * Get the text property: Entity text as appears in the request.
+ *
+ * @return the text value.
+ */
+ public String getText() {
+ return this.text;
+ }
+
+ /**
+ * Set the text property: Entity text as appears in the request.
+ *
+ * @param text the text value to set.
+ * @return the Match object itself.
+ */
+ public Match setText(String text) {
+ this.text = text;
+ return this;
+ }
+
+ /**
+ * Get the offset property: Start position (in Unicode characters) for the
+ * entity match text.
+ *
+ * @return the offset value.
+ */
+ public int getOffset() {
+ return this.offset;
+ }
+
+ /**
+ * Set the offset property: Start position (in Unicode characters) for the
+ * entity match text.
+ *
+ * @param offset the offset value to set.
+ * @return the Match object itself.
+ */
+ public Match setOffset(int offset) {
+ this.offset = offset;
+ return this;
+ }
+
+ /**
+ * Get the length property: Length (in Unicode characters) for the entity
+ * match text.
+ *
+ * @return the length value.
+ */
+ public int getLength() {
+ return this.length;
+ }
+
+ /**
+ * Set the length property: Length (in Unicode characters) for the entity
+ * match text.
+ *
+ * @param length the length value to set.
+ * @return the Match object itself.
+ */
+ public Match setLength(int length) {
+ this.length = length;
+ return this;
+ }
+}
diff --git a/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/MultiLanguageBatchInput.java b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/MultiLanguageBatchInput.java
new file mode 100644
index 000000000000..15e031e8696e
--- /dev/null
+++ b/sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/MultiLanguageBatchInput.java
@@ -0,0 +1,43 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.ai.textanalytics.implementation.models;
+
+import com.azure.core.annotation.Fluent;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/**
+ * Contains a set of input documents to be analyzed by the service.
+ */
+@Fluent
+public final class MultiLanguageBatchInput {
+ /*
+ * The set of documents to process as part of this batch.
+ */
+ @JsonProperty(value = "documents", required = true)
+ private List documents;
+
+ /**
+ * Get the documents property: The set of documents to process as part of
+ * this batch.
+ *
+ * @return the documents value.
+ */
+ public List getDocuments() {
+ return this.documents;
+ }
+
+ /**
+ * Set the documents property: The set of documents to process as part of
+ * this batch.
+ *
+ * @param documents the documents value to set.
+ * @return the MultiLanguageBatchInput object itself.
+ */
+ public MultiLanguageBatchInput setDocuments(List