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

com.purbon.kafka.topology.model.users.Connector Maven / Gradle / Ivy

Go to download

A helper project for Kafka Platform teams to build an automated Topic, Configuration, Schemas, and more, Management solution.

The newest version!
package com.purbon.kafka.topology.model.users;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.purbon.kafka.topology.model.DynamicUser;
import java.util.HashMap;
import java.util.List;
import java.util.Optional;

public class Connector extends DynamicUser {

  private static final String DEFAULT_CONNECT_STATUS_TOPIC = "connect-status";
  private static final String DEFAULT_CONNECT_OFFSET_TOPIC = "connect-offsets";
  private static final String DEFAULT_CONNECT_CONFIGS_TOPIC = "connect-configs";
  private static final String DEFAULT_CONNECT_GROUP = "connect-cluster";

  private static final String DEFAULT_CONNECT_CLUSTER_ID = "connect-cluster";

  @JsonInclude(Include.NON_EMPTY)
  private Optional status_topic;

  @JsonInclude(Include.NON_EMPTY)
  private Optional offset_topic;

  @JsonInclude(Include.NON_EMPTY)
  private Optional configs_topic;

  @JsonInclude(Include.NON_EMPTY)
  private Optional group;

  @JsonInclude(Include.NON_EMPTY)
  private Optional cluster_id;

  private Optional> connectors;

  public Connector() {
    this("");
  }

  public Connector(String principal) {
    this(
        principal,
        new HashMap<>(),
        Optional.empty(),
        Optional.empty(),
        Optional.empty(),
        Optional.empty(),
        Optional.empty(),
        Optional.empty());
  }

  public Connector(
      String principal,
      HashMap> topics,
      Optional status_topic,
      Optional offset_topic,
      Optional configs_topic,
      Optional group,
      Optional cluster_id,
      Optional> connectors) {

    super(principal, topics);

    this.configs_topic = configs_topic;
    this.status_topic = status_topic;
    this.offset_topic = offset_topic;
    this.group = group;
    this.cluster_id = cluster_id;
    this.connectors = connectors;
  }

  public String statusTopicString() {
    return status_topic.orElse(DEFAULT_CONNECT_STATUS_TOPIC);
  }

  public String offsetTopicString() {
    return offset_topic.orElse(DEFAULT_CONNECT_OFFSET_TOPIC);
  }

  public String configsTopicString() {
    return configs_topic.orElse(DEFAULT_CONNECT_CONFIGS_TOPIC);
  }

  public String groupString() {
    return group.orElse(DEFAULT_CONNECT_GROUP);
  }

  public void setStatus_topic(Optional status_topic) {
    this.status_topic = status_topic;
  }

  public void setOffset_topic(Optional offset_topic) {
    this.offset_topic = offset_topic;
  }

  public void setConfigs_topic(Optional configs_topic) {
    this.configs_topic = configs_topic;
  }

  public void setGroup(Optional group) {
    this.group = group;
  }

  public void setCluster_id(Optional cluster_id) {
    this.cluster_id = cluster_id;
  }

  public Optional getCluster_id() {
    return cluster_id;
  }

  public Optional getStatus_topic() {
    return status_topic;
  }

  public Optional getOffset_topic() {
    return offset_topic;
  }

  public Optional getConfigs_topic() {
    return configs_topic;
  }

  public Optional getGroup() {
    return group;
  }

  public Optional> getConnectors() {
    return connectors;
  }

  public void setConnectors(Optional> connectors) {
    this.connectors = connectors;
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy