Class GravitinoClientBase.Builder<T>

java.lang.Object
org.apache.gravitino.client.GravitinoClientBase.Builder<T>
Direct Known Subclasses:
GravitinoAdminClient.AdminClientBuilder, GravitinoClient.ClientBuilder
Enclosing class:
GravitinoClientBase

public abstract static class GravitinoClientBase.Builder<T> extends Object
Builder class for constructing a GravitinoClient.
  • Field Details

    • uri

      protected String uri
      The base URI for the Gravitino API.
    • authDataProvider

      protected org.apache.gravitino.client.AuthDataProvider authDataProvider
      The authentication provider.
    • checkVersion

      protected boolean checkVersion
      The check version flag.
    • headers

      protected Map<String,String> headers
      The request base header for the Gravitino API.
    • properties

      protected Map<String,String> properties
      A map of properties (key-value pairs) used to configure the Gravitino client.
  • Constructor Details

    • Builder

      protected Builder(String uri)
      The constructor for the Builder class.
      Parameters:
      uri - The base URI for the Gravitino API.
  • Method Details

    • withSimpleAuth

      public GravitinoClientBase.Builder<T> withSimpleAuth()
      Sets the simple mode authentication for Gravitino
      Returns:
      This Builder instance for method chaining.
    • withSimpleAuth

      public GravitinoClientBase.Builder<T> withSimpleAuth(String userName)
      Sets the simple mode authentication for Gravitino with a specific username
      Parameters:
      userName - The username of the user.
      Returns:
      This Builder instance for method chaining.
    • withVersionCheckDisabled

      public GravitinoClientBase.Builder<T> withVersionCheckDisabled()
      Optional, set a flag to verify the client is supported to connector the server
      Returns:
      This Builder instance for method chaining.
    • withOAuth

      public GravitinoClientBase.Builder<T> withOAuth(OAuth2TokenProvider dataProvider)
      Sets OAuth2TokenProvider for Gravitino.
      Parameters:
      dataProvider - The OAuth2TokenProvider used as the provider of authentication data for Gravitino Client.
      Returns:
      This Builder instance for method chaining.
    • withKerberosAuth

      public GravitinoClientBase.Builder<T> withKerberosAuth(KerberosTokenProvider dataProvider)
      Sets KerberosTokenProvider for the Gravitino.
      Parameters:
      dataProvider - The KerberosTokenProvider used as the provider of authentication data for Gravitino Client.
      Returns:
      This Builder instance for method chaining.
    • withCustomTokenAuth

      public GravitinoClientBase.Builder<T> withCustomTokenAuth(CustomTokenProvider dataProvider)
      Sets CustomTokenProvider for the Gravitino.
      Parameters:
      dataProvider - The CustomTokenProvider used as the provider of authentication data for Gravitino Client.
      Returns:
      This Builder instance for method chaining.
    • withHeaders

      public GravitinoClientBase.Builder<T> withHeaders(Map<String,String> headers)
      Set base header for Gravitino Client.
      Parameters:
      headers - the base header.
      Returns:
      This Builder instance for method chaining.
    • withClientConfig

      public GravitinoClientBase.Builder<T> withClientConfig(Map<String,String> properties)
      Set base client config for Gravitino Client.
      Parameters:
      properties - A map of properties (key-value pairs) used to configure the Gravitino client.
      Returns:
      This Builder instance for method chaining.
    • build

      public abstract T build()
      Builds a new instance. Subclasses should overwrite this method.
      Returns:
      A new instance of Gravitino Client.
      Throws:
      IllegalArgumentException - If the base URI is null or empty.
      UnsupportedOperationException - If subclass has not implemented.