Class DataAPIClientOptions

java.lang.Object
com.datastax.astra.client.core.options.DataAPIClientOptions
All Implemented Interfaces:
Cloneable

public class DataAPIClientOptions extends Object implements Cloneable
Options to set up the client for DataApiClient.
  • Field Details

    • DEFAULT_KEYSPACE

      public static final String DEFAULT_KEYSPACE
      The default keyspace to use for working with your databases.

      This value is the default in Astra but you can create your own keyspaces in your database. Ensure the keyspace matches your database configuration to avoid runtime issues.

      See Also:
    • DEFAULT_VERSION

      public static final String DEFAULT_VERSION
      API version and path in the URL in the format '/api/${version}'.

      This constant can be used to construct endpoint URLs for making API calls. Modify this value if the backend version changes.

      See Also:
    • MAX_COUNT

      public static final int MAX_COUNT
      The maximum number of documents allowed for processing before throwing an exception.

      This is a safeguard to prevent excessive memory or computational load when processing large batches of data. Applications should adhere to this limit for better stability.

      See Also:
    • MAX_CHUNK_SIZE

      public static final int MAX_CHUNK_SIZE
      The maximum number of documents to insert in a single batch operation.

      This is used to optimize bulk insertion performance while ensuring the operation doesn't exceed database constraints or memory limits.

      See Also:
    • HEADER_FEATURE_FLAG_TABLES

      public static final String HEADER_FEATURE_FLAG_TABLES
      Feature Flag Tables.
      See Also:
  • Constructor Details

    • DataAPIClientOptions

      public DataAPIClientOptions()
      A default Client Options
    • DataAPIClientOptions

      public DataAPIClientOptions(DataAPIClientOptions options)
      Copy constructor.
      Parameters:
      options - options to copy
  • Method Details

    • isAstra

      public boolean isAstra()
      Check if the deploying is Astra
      Returns:
      true if the destination is Astra
    • getAstraEnvironment

      public com.dtsx.astra.sdk.utils.AstraEnvironment getAstraEnvironment()
      Find the Astra Environment from the destination provided in the initial Optional. It will help shaping the Api endpoint to spawn sub database objects.
      Returns:
      astra environment if found
    • getApiVersion

      public String getApiVersion()
      Gets apiVersion
      Returns:
      value of apiVersion
    • getDestination

      public DataAPIDestination getDestination()
      Gets destination
      Returns:
      value of destination
    • getEmbeddingAuthProvider

      public EmbeddingHeadersProvider getEmbeddingAuthProvider()
      Gets embeddingAuthProvider
      Returns:
      value of embeddingAuthProvider
    • getDatabaseAdditionalHeaders

      public Map<String,String> getDatabaseAdditionalHeaders()
      Gets databaseAdditionalHeaders
      Returns:
      value of databaseAdditionalHeaders
    • getAdminAdditionalHeaders

      public Map<String,String> getAdminAdditionalHeaders()
      Gets adminAdditionalHeaders
      Returns:
      value of adminAdditionalHeaders
    • getObservers

      public Map<String,CommandObserver> getObservers()
      Gets observers
      Returns:
      value of observers
    • getHttpClientOptions

      public HttpClientOptions getHttpClientOptions()
      Gets httpClientOptions
      Returns:
      value of httpClientOptions
    • getTimeoutOptions

      public TimeoutOptions getTimeoutOptions()
      Gets timeoutOptions
      Returns:
      value of timeoutOptions
    • getSerdesOptions

      public static SerdesOptions getSerdesOptions()
      Gets serdesOptions
      Returns:
      value of serdesOptions
    • addObserver

      public DataAPIClientOptions addObserver(String name, CommandObserver observer)
      Register an observer with its className.
      Parameters:
      name - observer name
      observer - command observer
      Returns:
      instance of the command options
    • addObserver

      public DataAPIClientOptions addObserver(CommandObserver observer)
      Register an observer with its className.
      Parameters:
      observer - command observer
      Returns:
      instance of the command options
    • logRequests

      public DataAPIClientOptions logRequests()
      Help to enable loggin requests.
      Returns:
      current reference
    • embeddingAPIKey

      public DataAPIClientOptions embeddingAPIKey(String embeddingAPIKey)
      Builder pattern, update http connection Timeout
      Parameters:
      embeddingAPIKey - embedding API Key
      Returns:
      self reference
    • addCaller

      public DataAPIClientOptions addCaller(String name, String version)
      Builder pattern, update caller information. o
      Parameters:
      name - caller name in the user agent
      version - caller version in the user agent
      Returns:
      self reference
    • addDatabaseAdditionalHeader

      public DataAPIClientOptions addDatabaseAdditionalHeader(String key, String value)
      Add a header to the db calls.
      Parameters:
      key - key
      value - value
      Returns:
      self reference
    • addAdminAdditionalHeader

      public DataAPIClientOptions addAdminAdditionalHeader(String key, String value)
      Add a header to the admin calls.
      Parameters:
      key - key
      value - value
      Returns:
      self reference
    • enableFeatureFlagTables

      public DataAPIClientOptions enableFeatureFlagTables()
      Enable the feature flag tables.
      Returns:
      self reference
    • disableFeatureFlagTables

      public DataAPIClientOptions disableFeatureFlagTables()
      Disable the feature flag tables.
      Returns:
      self reference
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • clone

      public DataAPIClientOptions clone()
      Overrides:
      clone in class Object