Interface TableViewBuilder<T>


@Public @Evolving public interface TableViewBuilder<T>
TableViewBuilder is used to configure and create instances of TableView.
Since:
2.10.0
See Also:
  • Method Details

    • loadConf

      TableViewBuilder<T> loadConf(Map<String,Object> config)
      Load the configuration from provided config map.

      Example:

      
        Map<String, Object> config = new HashMap<>();
        config.put("topicName", "test-topic");
        config.put("autoUpdatePartitionsSeconds", "300");
      
        TableViewBuilder<byte[]> builder = ...;
        builder = builder.loadConf(config);
      
        TableView<byte[]> tableView = builder.create();
        
      Parameters:
      config - configuration to load
      Returns:
      the TableViewBuilder instance
    • create

      Finalize the creation of the TableView instance.

      This method will block until the tableView is created successfully or an exception is thrown.

      Returns:
      the TableView instance
      Throws:
      PulsarClientException - if the tableView creation fails
    • createAsync

      CompletableFuture<TableView<T>> createAsync()
      Finalize the creation of the TableView instance in asynchronous mode.

      This method will return a CompletableFuture that can be used to access the instance when it's ready.

      Returns:
      the TableView instance
    • topic

      TableViewBuilder<T> topic(String topic)
      Set the topic name of the TableView.
      Parameters:
      topic - the name of the topic to create the TableView
      Returns:
      the TableViewBuilder builder instance
    • autoUpdatePartitionsInterval

      TableViewBuilder<T> autoUpdatePartitionsInterval(int interval, TimeUnit unit)
      Set the interval of updating partitions (default: 1 minute).
      Parameters:
      interval - the interval of updating partitions
      unit - the time unit of the interval
      Returns:
      the TableViewBuilder builder instance
    • subscriptionName

      TableViewBuilder<T> subscriptionName(String subscriptionName)
      Set the subscription name of the TableView.
      Parameters:
      subscriptionName - the name of the subscription to the topic
      Returns:
      the TableViewBuilder builder instance
    • cryptoKeyReader

      TableViewBuilder<T> cryptoKeyReader(CryptoKeyReader cryptoKeyReader)
      Set the CryptoKeyReader to decrypt the message payloads.
      Parameters:
      cryptoKeyReader - CryptoKeyReader object
      Returns:
      the TableViewBuilder builder instance
    • defaultCryptoKeyReader

      TableViewBuilder<T> defaultCryptoKeyReader(String privateKey)
      Set the default implementation of CryptoKeyReader.

      Configure the key reader to be used to decrypt message payloads.

      Parameters:
      privateKey - the private key that is always used to decrypt message payloads.
      Returns:
      the TableViewBuilder builder instance
    • defaultCryptoKeyReader

      TableViewBuilder<T> defaultCryptoKeyReader(Map<String,String> privateKeys)
      Set the default implementation of CryptoKeyReader.

      Configure the key reader to be used to decrypt message payloads.

      Parameters:
      privateKeys - the map of private key names and their URIs used to decrypt message payloads.
      Returns:
      the TableViewBuilder builder instance
    • cryptoFailureAction

      TableViewBuilder<T> cryptoFailureAction(ConsumerCryptoFailureAction action)
      Set the ConsumerCryptoFailureAction to specify.
      Parameters:
      action - the action to take when the decoding fails
      Returns:
      the TableViewBuilder builder instance