Class EmailClientBuilder

java.lang.Object
com.azure.communication.email.EmailClientBuilder
All Implemented Interfaces:
AzureKeyCredentialTrait<EmailClientBuilder>, ConfigurationTrait<EmailClientBuilder>, ConnectionStringTrait<EmailClientBuilder>, EndpointTrait<EmailClientBuilder>, HttpTrait<EmailClientBuilder>

A builder for creating a new instance of the EmailServicesClient type.
  • Constructor Details

    • EmailClientBuilder

      public EmailClientBuilder()
      Create an instance of the EmailClientBuilder.
  • Method Details

    • pipeline

      public EmailClientBuilder pipeline(HttpPipeline pipeline)
      Sets the HttpPipeline to use for the service client.

      Note: It is important to understand the precedence order of the HttpTrait APIs. In particular, if a HttpPipeline is specified, this takes precedence over all other APIs in the trait, and they will be ignored. If no HttpPipeline is specified, a HTTP pipeline will be constructed internally based on the settings provided to this trait. Additionally, there may be other APIs in types that implement this trait that are also ignored if an HttpPipeline is specified, so please be sure to refer to the documentation of types that implement this trait to understand the full set of implications.

      .
      Specified by:
      pipeline in interface HttpTrait<EmailClientBuilder>
      Parameters:
      pipeline - HttpPipeline to use for sending service requests and receiving responses.
      Returns:
      Returns the same concrete type with the appropriate properties updated, to allow for fluent chaining of operations.
    • httpClient

      public EmailClientBuilder httpClient(HttpClient httpClient)
      Sets the HttpClient to use for sending and receiving requests to and from the service.

      Note: It is important to understand the precedence order of the HttpTrait APIs. In particular, if a HttpPipeline is specified, this takes precedence over all other APIs in the trait, and they will be ignored. If no HttpPipeline is specified, a HTTP pipeline will be constructed internally based on the settings provided to this trait. Additionally, there may be other APIs in types that implement this trait that are also ignored if an HttpPipeline is specified, so please be sure to refer to the documentation of types that implement this trait to understand the full set of implications.

      .
      Specified by:
      httpClient in interface HttpTrait<EmailClientBuilder>
      Parameters:
      httpClient - The HttpClient to use for requests.
      Returns:
      Returns the same concrete type with the appropriate properties updated, to allow for fluent chaining of operations.
    • httpLogOptions

      public EmailClientBuilder httpLogOptions(HttpLogOptions httpLogOptions)
      Sets the logging configuration to use when sending and receiving requests to and from the service. If a logLevel is not provided, default value of HttpLogDetailLevel.NONE is set.

      Note: It is important to understand the precedence order of the HttpTrait APIs. In particular, if a HttpPipeline is specified, this takes precedence over all other APIs in the trait, and they will be ignored. If no HttpPipeline is specified, a HTTP pipeline will be constructed internally based on the settings provided to this trait. Additionally, there may be other APIs in types that implement this trait that are also ignored if an HttpPipeline is specified, so please be sure to refer to the documentation of types that implement this trait to understand the full set of implications.

      .
      Specified by:
      httpLogOptions in interface HttpTrait<EmailClientBuilder>
      Parameters:
      httpLogOptions - The logging configuration to use when sending and receiving requests to and from the service.
      Returns:
      Returns the same concrete type with the appropriate properties updated, to allow for fluent chaining of operations.
    • clientOptions

      public EmailClientBuilder clientOptions(ClientOptions clientOptions)
      Allows for setting common properties such as application ID, headers, proxy configuration, etc. Note that it is recommended that this method be called with an instance of the HttpClientOptions class (a subclass of the ClientOptions base class). The HttpClientOptions subclass provides more configuration options suitable for HTTP clients, which is applicable for any class that implements this HttpTrait interface.

      Note: It is important to understand the precedence order of the HttpTrait APIs. In particular, if a HttpPipeline is specified, this takes precedence over all other APIs in the trait, and they will be ignored. If no HttpPipeline is specified, a HTTP pipeline will be constructed internally based on the settings provided to this trait. Additionally, there may be other APIs in types that implement this trait that are also ignored if an HttpPipeline is specified, so please be sure to refer to the documentation of types that implement this trait to understand the full set of implications.

      .
      Specified by:
      clientOptions in interface HttpTrait<EmailClientBuilder>
      Parameters:
      clientOptions - A configured instance of HttpClientOptions.
      Returns:
      Returns the same concrete type with the appropriate properties updated, to allow for fluent chaining of operations.
      See Also:
    • retryOptions

      public EmailClientBuilder retryOptions(RetryOptions retryOptions)
      Sets the RetryOptions for all the requests made through the client.

      Note: It is important to understand the precedence order of the HttpTrait APIs. In particular, if a HttpPipeline is specified, this takes precedence over all other APIs in the trait, and they will be ignored. If no HttpPipeline is specified, a HTTP pipeline will be constructed internally based on the settings provided to this trait. Additionally, there may be other APIs in types that implement this trait that are also ignored if an HttpPipeline is specified, so please be sure to refer to the documentation of types that implement this trait to understand the full set of implications.

      .
      Specified by:
      retryOptions in interface HttpTrait<EmailClientBuilder>
      Parameters:
      retryOptions - The RetryOptions to use for all the requests made through the client.
      Returns:
      Returns the same concrete type with the appropriate properties updated, to allow for fluent chaining of operations.
    • addPolicy

      public EmailClientBuilder addPolicy(HttpPipelinePolicy customPolicy)
      Adds a pipeline policy to apply on each request sent.

      Note: It is important to understand the precedence order of the HttpTrait APIs. In particular, if a HttpPipeline is specified, this takes precedence over all other APIs in the trait, and they will be ignored. If no HttpPipeline is specified, a HTTP pipeline will be constructed internally based on the settings provided to this trait. Additionally, there may be other APIs in types that implement this trait that are also ignored if an HttpPipeline is specified, so please be sure to refer to the documentation of types that implement this trait to understand the full set of implications.

      .
      Specified by:
      addPolicy in interface HttpTrait<EmailClientBuilder>
      Parameters:
      customPolicy - A pipeline policy.
      Returns:
      Returns the same concrete type with the appropriate properties updated, to allow for fluent chaining of operations.
    • configuration

      public EmailClientBuilder configuration(Configuration configuration)
      Sets the client-specific configuration used to retrieve client or global configuration properties when building a client..
      Specified by:
      configuration in interface ConfigurationTrait<EmailClientBuilder>
      Parameters:
      configuration - Configuration store used to retrieve client configurations.
      Returns:
      Returns the same concrete type with the appropriate properties updated, to allow for fluent chaining of operations.
    • credential

      public EmailClientBuilder credential(AzureKeyCredential azureKeyCredential)
      Sets the AzureKeyCredential used for authentication. Refer to the Azure SDK for Java identity and authentication documentation for more details on proper usage of the AzureKeyCredential type..
      Specified by:
      credential in interface AzureKeyCredentialTrait<EmailClientBuilder>
      Parameters:
      azureKeyCredential - the AzureKeyCredential to be used for authentication.
      Returns:
      Returns the same concrete type with the appropriate properties updated, to allow for fluent chaining of operations.
    • endpoint

      public EmailClientBuilder endpoint(String endpoint)
      Sets the service endpoint that will be connected to by clients..
      Specified by:
      endpoint in interface EndpointTrait<EmailClientBuilder>
      Parameters:
      endpoint - The URL of the service endpoint.
      Returns:
      Returns the same concrete type with the appropriate properties updated, to allow for fluent chaining of operations.
    • serviceVersion

      public EmailClientBuilder serviceVersion(EmailServiceVersion serviceVersion)
      Sets Service version.
      Parameters:
      serviceVersion - the serviceVersion value.
      Returns:
      the EmailClientBuilder.
    • retryPolicy

      public EmailClientBuilder retryPolicy(RetryPolicy retryPolicy)
      Sets The retry policy that will attempt to retry failed requests, if applicable.
      Parameters:
      retryPolicy - the retryPolicy value.
      Returns:
      the EmailClientBuilder.
    • connectionString

      public EmailClientBuilder connectionString(String connectionString)
      Set endpoint and credential to use
      Specified by:
      connectionString in interface ConnectionStringTrait<EmailClientBuilder>
      Parameters:
      connectionString - connection string for setting endpoint and initalizing AzureKeyCredential
      Returns:
      EmailClientBuilder
    • buildAsyncClient

      public EmailAsyncClient buildAsyncClient()
      Builds an instance of EmailAsyncClient class.
      Returns:
      an instance of EmailAsyncClient.
    • buildClient

      public EmailClient buildClient()
      Builds an instance of EmailClient class.
      Returns:
      an instance of EmailClient.