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

pl.allegro.tech.hermes.metrics.PathContext Maven / Gradle / Ivy

There is a newer version: 2.10.4
Show newest version
package pl.allegro.tech.hermes.metrics;

import java.util.Optional;

public class PathContext {

  private final Optional group;
  private final Optional topic;
  private final Optional subscription;

  private PathContext(
      Optional group, Optional topic, Optional subscription) {
    this.group = group;
    this.topic = topic;
    this.subscription = subscription;
  }

  public Optional getGroup() {
    return group;
  }

  public Optional getTopic() {
    return topic;
  }

  public Optional getSubscription() {
    return subscription;
  }

  public static Builder pathContext() {
    return new Builder();
  }

  public static class Builder {

    private Optional group = Optional.empty();
    private Optional topic = Optional.empty();
    private Optional subscription = Optional.empty();

    public Builder withGroup(String group) {
      this.group = Optional.of(group);
      return this;
    }

    public Builder withTopic(String topic) {
      this.topic = Optional.of(topic);
      return this;
    }

    public Builder withSubscription(String subscription) {
      this.subscription = Optional.of(subscription);
      return this;
    }

    public PathContext build() {
      return new PathContext(group, topic, subscription);
    }
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy