pl.allegro.tech.hermes.metrics.PathContext Maven / Gradle / Ivy
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 final Optional kafkaTopic;
private final Optional partition;
private final Optional httpCode;
private final Optional httpCodeFamily;
private final Optional executorName;
private PathContext(Optional group,
Optional topic,
Optional subscription,
Optional kafkaTopic,
Optional partition,
Optional httpCode,
Optional httpCodeFamily,
Optional executorName) {
this.group = group;
this.topic = topic;
this.subscription = subscription;
this.kafkaTopic = kafkaTopic;
this.partition = partition;
this.httpCode = httpCode;
this.httpCodeFamily = httpCodeFamily;
this.executorName = executorName;
}
public Optional getGroup() {
return group;
}
public Optional getTopic() {
return topic;
}
public Optional getSubscription() {
return subscription;
}
public Optional getKafkaTopic() {
return kafkaTopic;
}
public Optional getPartition() {
return partition;
}
public Optional getHttpCode() {
return httpCode;
}
public Optional getHttpCodeFamily() {
return httpCodeFamily;
}
public Optional getExecutorName() {
return executorName;
}
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();
private Optional kafkaTopic = Optional.empty();
private Optional partition = Optional.empty();
private Optional httpCode = Optional.empty();
private Optional httpCodeFamily = Optional.empty();
private Optional executorName = 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 Builder withKafkaTopic(String kafkaTopic) {
this.kafkaTopic = Optional.of(kafkaTopic);
return this;
}
public Builder withPartition(int partition) {
this.partition = Optional.of(partition);
return this;
}
public Builder withHttpCode(int httpCode) {
this.httpCode = Optional.of(httpCode);
return this;
}
public Builder withHttpCodeFamily(String httpCodeFamily) {
this.httpCodeFamily = Optional.of(httpCodeFamily);
return this;
}
public Builder withExecutorName(String executorName) {
this.executorName = Optional.of(executorName);
return this;
}
public PathContext build() {
return new PathContext(group, topic, subscription, kafkaTopic, partition, httpCode, httpCodeFamily, executorName);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy