com.grafana.foundation.common.ReduceDataOptions Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of grafana-foundation-sdk Show documentation
Show all versions of grafana-foundation-sdk Show documentation
A set of tools, types and libraries for building and manipulating Grafana objects.
// Code generated - EDITING IS FUTILE. DO NOT EDIT.
package com.grafana.foundation.common;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.ObjectWriter;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import java.util.List;
// TODO docs
public class ReduceDataOptions {
// If true show each row value
@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
@JsonProperty("values")
public Boolean values;
// if showing all values limit
@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
@JsonProperty("limit")
public Double limit;
// When !values, pick one value for the whole field
@JsonProperty("calcs")
public List calcs;
// Which fields to show. By default this is only numeric fields
@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
@JsonProperty("fields")
public String fields;
public String toJSON() throws JsonProcessingException {
ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter();
return ow.writeValueAsString(this);
}
public static class Builder implements com.grafana.foundation.cog.Builder {
private final ReduceDataOptions internal;
public Builder() {
this.internal = new ReduceDataOptions();
}
public Builder values(Boolean values) {
this.internal.values = values;
return this;
}
public Builder limit(Double limit) {
this.internal.limit = limit;
return this;
}
public Builder calcs(List calcs) {
this.internal.calcs = calcs;
return this;
}
public Builder fields(String fields) {
this.internal.fields = fields;
return this;
}
public ReduceDataOptions build() {
return this.internal;
}
}
}