All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.clickzetta.platform.client.api.ClientBuilder Maven / Gradle / Ivy

There is a newer version: 2.0.0
Show newest version
package com.clickzetta.platform.client.api;

import java.util.Properties;

public interface ClientBuilder {

  /**
   * controller address for rpc message. it will be superior to streamUrl.
   * if controller address set. streamUrl will not work.
   *
   * @param host
   * @param port
   * @return
   */
  @Deprecated
  ClientBuilder crlAddr(String host, Integer port);

  /**
   * worker address for mutate data. it will get from controller when it not set by default.
   * otherwise. it will overwrite address which get from controller.
   *
   * when use ip port, host = [targetIp], port = [targetPort]
   * when use uri, host = [uri], port = null
   *
   * @param host
   * @param port
   * @return
   */
  ClientBuilder workerAddr(String host, Integer port);

  /**
   * instanceId.
   *
   * @param instanceId
   * @return
   */
  @Deprecated
  ClientBuilder instanceId(long instanceId);

  /**
   * workspace
   *
   * @param workspace
   * @return
   */
  @Deprecated
  ClientBuilder workspace(String workspace);

  /**
   * user authenticate.
   *
   * @param authentication
   * @return
   */
  ClientBuilder authenticate(boolean authentication);

  /**
   * streamUrl for gateway mode. format like:
   *  igs:{scheme}://{instanceId}.{account}.{host:port}/{workspace}?{parameters}
   *
   * if controller address set. streamUrl will not work.
   *
   * @param streamUrl
   * @return
   */
  ClientBuilder streamUrl(String streamUrl);

  /**
   * networkMode. when false. it will go public network. like 10.xxx.xxx.xxx
   * otherwise it goes private network. like 192.xxx.xxx.xxx
   *
   * @param isInternal
   * @return
   */
  default ClientBuilder networkMode(boolean isInternal) {
    return networkMode(isInternal, false);
  }

  ClientBuilder networkMode(boolean isInternal, boolean direct);

  ClientBuilder properties(Properties properties);

  ClientBuilder addProperty(Object key, Object value);

  ClientBuilder showDebugLog(boolean showDebugLog);

  Client build();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy