org.openmetadata.schema.dataInsight.custom.LineChart Maven / Gradle / Ivy
package org.openmetadata.schema.dataInsight.custom;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.processing.Generated;
import javax.validation.Valid;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.annotation.JsonValue;
/**
* LineChart
*
* Line Chart
*
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"type",
"function",
"field",
"filter",
"treeFilter",
"formula",
"groupBy",
"includeGroups",
"excludeGroups",
"xAxisLabel",
"yAxisLabel",
"kpiDetails"
})
@Generated("jsonschema2pojo")
public class LineChart {
/**
* Type of the data insight chart.
*
*/
@JsonProperty("type")
@JsonPropertyDescription("Type of the data insight chart.")
private LineChart.Type type = LineChart.Type.fromValue("LineChart");
/**
* aggregation function for chart
*
*/
@JsonProperty("function")
@JsonPropertyDescription("aggregation function for chart")
private Function function;
/**
* Filter field for the data insight chart.
*
*/
@JsonProperty("field")
@JsonPropertyDescription("Filter field for the data insight chart.")
private String field;
/**
* Filter value for the data insight chart.
*
*/
@JsonProperty("filter")
@JsonPropertyDescription("Filter value for the data insight chart.")
private String filter;
/**
* Tree filter value for the data insight chart. Needed for UI to recreate advance filter tree.
*
*/
@JsonProperty("treeFilter")
@JsonPropertyDescription("Tree filter value for the data insight chart. Needed for UI to recreate advance filter tree.")
private String treeFilter;
/**
* Formula for the data insight chart calculation.
*
*/
@JsonProperty("formula")
@JsonPropertyDescription("Formula for the data insight chart calculation.")
private String formula;
/**
* Breakdown field for the data insight chart.
*
*/
@JsonProperty("groupBy")
@JsonPropertyDescription("Breakdown field for the data insight chart.")
private String groupBy;
/**
* List of groups to be included in the data insight chart when groupBy is specified.
*
*/
@JsonProperty("includeGroups")
@JsonPropertyDescription("List of groups to be included in the data insight chart when groupBy is specified.")
@Valid
private List includeGroups = new ArrayList();
/**
* List of groups to be excluded in the data insight chart when groupBy is specified.
*
*/
@JsonProperty("excludeGroups")
@JsonPropertyDescription("List of groups to be excluded in the data insight chart when groupBy is specified.")
@Valid
private List excludeGroups = new ArrayList();
/**
* X-axis label for the data insight chart.
*
*/
@JsonProperty("xAxisLabel")
@JsonPropertyDescription("X-axis label for the data insight chart.")
private String xAxisLabel;
/**
* Y-axis label for the data insight chart.
*
*/
@JsonProperty("yAxisLabel")
@JsonPropertyDescription("Y-axis label for the data insight chart.")
private String yAxisLabel;
/**
* KPI details for the data insight chart.
*
*/
@JsonProperty("kpiDetails")
@JsonPropertyDescription("KPI details for the data insight chart.")
@Valid
private KPIDetails kpiDetails;
/**
* Type of the data insight chart.
*
*/
@JsonProperty("type")
public LineChart.Type getType() {
return type;
}
/**
* Type of the data insight chart.
*
*/
@JsonProperty("type")
public void setType(LineChart.Type type) {
this.type = type;
}
public LineChart withType(LineChart.Type type) {
this.type = type;
return this;
}
/**
* aggregation function for chart
*
*/
@JsonProperty("function")
public Function getFunction() {
return function;
}
/**
* aggregation function for chart
*
*/
@JsonProperty("function")
public void setFunction(Function function) {
this.function = function;
}
public LineChart withFunction(Function function) {
this.function = function;
return this;
}
/**
* Filter field for the data insight chart.
*
*/
@JsonProperty("field")
public String getField() {
return field;
}
/**
* Filter field for the data insight chart.
*
*/
@JsonProperty("field")
public void setField(String field) {
this.field = field;
}
public LineChart withField(String field) {
this.field = field;
return this;
}
/**
* Filter value for the data insight chart.
*
*/
@JsonProperty("filter")
public String getFilter() {
return filter;
}
/**
* Filter value for the data insight chart.
*
*/
@JsonProperty("filter")
public void setFilter(String filter) {
this.filter = filter;
}
public LineChart withFilter(String filter) {
this.filter = filter;
return this;
}
/**
* Tree filter value for the data insight chart. Needed for UI to recreate advance filter tree.
*
*/
@JsonProperty("treeFilter")
public String getTreeFilter() {
return treeFilter;
}
/**
* Tree filter value for the data insight chart. Needed for UI to recreate advance filter tree.
*
*/
@JsonProperty("treeFilter")
public void setTreeFilter(String treeFilter) {
this.treeFilter = treeFilter;
}
public LineChart withTreeFilter(String treeFilter) {
this.treeFilter = treeFilter;
return this;
}
/**
* Formula for the data insight chart calculation.
*
*/
@JsonProperty("formula")
public String getFormula() {
return formula;
}
/**
* Formula for the data insight chart calculation.
*
*/
@JsonProperty("formula")
public void setFormula(String formula) {
this.formula = formula;
}
public LineChart withFormula(String formula) {
this.formula = formula;
return this;
}
/**
* Breakdown field for the data insight chart.
*
*/
@JsonProperty("groupBy")
public String getGroupBy() {
return groupBy;
}
/**
* Breakdown field for the data insight chart.
*
*/
@JsonProperty("groupBy")
public void setGroupBy(String groupBy) {
this.groupBy = groupBy;
}
public LineChart withGroupBy(String groupBy) {
this.groupBy = groupBy;
return this;
}
/**
* List of groups to be included in the data insight chart when groupBy is specified.
*
*/
@JsonProperty("includeGroups")
public List getIncludeGroups() {
return includeGroups;
}
/**
* List of groups to be included in the data insight chart when groupBy is specified.
*
*/
@JsonProperty("includeGroups")
public void setIncludeGroups(List includeGroups) {
this.includeGroups = includeGroups;
}
public LineChart withIncludeGroups(List includeGroups) {
this.includeGroups = includeGroups;
return this;
}
/**
* List of groups to be excluded in the data insight chart when groupBy is specified.
*
*/
@JsonProperty("excludeGroups")
public List getExcludeGroups() {
return excludeGroups;
}
/**
* List of groups to be excluded in the data insight chart when groupBy is specified.
*
*/
@JsonProperty("excludeGroups")
public void setExcludeGroups(List excludeGroups) {
this.excludeGroups = excludeGroups;
}
public LineChart withExcludeGroups(List excludeGroups) {
this.excludeGroups = excludeGroups;
return this;
}
/**
* X-axis label for the data insight chart.
*
*/
@JsonProperty("xAxisLabel")
public String getxAxisLabel() {
return xAxisLabel;
}
/**
* X-axis label for the data insight chart.
*
*/
@JsonProperty("xAxisLabel")
public void setxAxisLabel(String xAxisLabel) {
this.xAxisLabel = xAxisLabel;
}
public LineChart withxAxisLabel(String xAxisLabel) {
this.xAxisLabel = xAxisLabel;
return this;
}
/**
* Y-axis label for the data insight chart.
*
*/
@JsonProperty("yAxisLabel")
public String getyAxisLabel() {
return yAxisLabel;
}
/**
* Y-axis label for the data insight chart.
*
*/
@JsonProperty("yAxisLabel")
public void setyAxisLabel(String yAxisLabel) {
this.yAxisLabel = yAxisLabel;
}
public LineChart withyAxisLabel(String yAxisLabel) {
this.yAxisLabel = yAxisLabel;
return this;
}
/**
* KPI details for the data insight chart.
*
*/
@JsonProperty("kpiDetails")
public KPIDetails getKpiDetails() {
return kpiDetails;
}
/**
* KPI details for the data insight chart.
*
*/
@JsonProperty("kpiDetails")
public void setKpiDetails(KPIDetails kpiDetails) {
this.kpiDetails = kpiDetails;
}
public LineChart withKpiDetails(KPIDetails kpiDetails) {
this.kpiDetails = kpiDetails;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(LineChart.class.getName()).append('@').append(Integer.toHexString(System.identityHashCode(this))).append('[');
sb.append("type");
sb.append('=');
sb.append(((this.type == null)?"":this.type));
sb.append(',');
sb.append("function");
sb.append('=');
sb.append(((this.function == null)?"":this.function));
sb.append(',');
sb.append("field");
sb.append('=');
sb.append(((this.field == null)?"":this.field));
sb.append(',');
sb.append("filter");
sb.append('=');
sb.append(((this.filter == null)?"":this.filter));
sb.append(',');
sb.append("treeFilter");
sb.append('=');
sb.append(((this.treeFilter == null)?"":this.treeFilter));
sb.append(',');
sb.append("formula");
sb.append('=');
sb.append(((this.formula == null)?"":this.formula));
sb.append(',');
sb.append("groupBy");
sb.append('=');
sb.append(((this.groupBy == null)?"":this.groupBy));
sb.append(',');
sb.append("includeGroups");
sb.append('=');
sb.append(((this.includeGroups == null)?"":this.includeGroups));
sb.append(',');
sb.append("excludeGroups");
sb.append('=');
sb.append(((this.excludeGroups == null)?"":this.excludeGroups));
sb.append(',');
sb.append("xAxisLabel");
sb.append('=');
sb.append(((this.xAxisLabel == null)?"":this.xAxisLabel));
sb.append(',');
sb.append("yAxisLabel");
sb.append('=');
sb.append(((this.yAxisLabel == null)?"":this.yAxisLabel));
sb.append(',');
sb.append("kpiDetails");
sb.append('=');
sb.append(((this.kpiDetails == null)?"":this.kpiDetails));
sb.append(',');
if (sb.charAt((sb.length()- 1)) == ',') {
sb.setCharAt((sb.length()- 1), ']');
} else {
sb.append(']');
}
return sb.toString();
}
@Override
public int hashCode() {
int result = 1;
result = ((result* 31)+((this.groupBy == null)? 0 :this.groupBy.hashCode()));
result = ((result* 31)+((this.type == null)? 0 :this.type.hashCode()));
result = ((result* 31)+((this.treeFilter == null)? 0 :this.treeFilter.hashCode()));
result = ((result* 31)+((this.includeGroups == null)? 0 :this.includeGroups.hashCode()));
result = ((result* 31)+((this.filter == null)? 0 :this.filter.hashCode()));
result = ((result* 31)+((this.yAxisLabel == null)? 0 :this.yAxisLabel.hashCode()));
result = ((result* 31)+((this.kpiDetails == null)? 0 :this.kpiDetails.hashCode()));
result = ((result* 31)+((this.field == null)? 0 :this.field.hashCode()));
result = ((result* 31)+((this.excludeGroups == null)? 0 :this.excludeGroups.hashCode()));
result = ((result* 31)+((this.function == null)? 0 :this.function.hashCode()));
result = ((result* 31)+((this.formula == null)? 0 :this.formula.hashCode()));
result = ((result* 31)+((this.xAxisLabel == null)? 0 :this.xAxisLabel.hashCode()));
return result;
}
@Override
public boolean equals(Object other) {
if (other == this) {
return true;
}
if ((other instanceof LineChart) == false) {
return false;
}
LineChart rhs = ((LineChart) other);
return (((((((((((((this.groupBy == rhs.groupBy)||((this.groupBy!= null)&&this.groupBy.equals(rhs.groupBy)))&&((this.type == rhs.type)||((this.type!= null)&&this.type.equals(rhs.type))))&&((this.treeFilter == rhs.treeFilter)||((this.treeFilter!= null)&&this.treeFilter.equals(rhs.treeFilter))))&&((this.includeGroups == rhs.includeGroups)||((this.includeGroups!= null)&&this.includeGroups.equals(rhs.includeGroups))))&&((this.filter == rhs.filter)||((this.filter!= null)&&this.filter.equals(rhs.filter))))&&((this.yAxisLabel == rhs.yAxisLabel)||((this.yAxisLabel!= null)&&this.yAxisLabel.equals(rhs.yAxisLabel))))&&((this.kpiDetails == rhs.kpiDetails)||((this.kpiDetails!= null)&&this.kpiDetails.equals(rhs.kpiDetails))))&&((this.field == rhs.field)||((this.field!= null)&&this.field.equals(rhs.field))))&&((this.excludeGroups == rhs.excludeGroups)||((this.excludeGroups!= null)&&this.excludeGroups.equals(rhs.excludeGroups))))&&((this.function == rhs.function)||((this.function!= null)&&this.function.equals(rhs.function))))&&((this.formula == rhs.formula)||((this.formula!= null)&&this.formula.equals(rhs.formula))))&&((this.xAxisLabel == rhs.xAxisLabel)||((this.xAxisLabel!= null)&&this.xAxisLabel.equals(rhs.xAxisLabel))));
}
/**
* Type of the data insight chart.
*
*/
@Generated("jsonschema2pojo")
public enum Type {
LINE_CHART("LineChart");
private final String value;
private final static Map CONSTANTS = new HashMap();
static {
for (LineChart.Type c: values()) {
CONSTANTS.put(c.value, c);
}
}
Type(String value) {
this.value = value;
}
@Override
public String toString() {
return this.value;
}
@JsonValue
public String value() {
return this.value;
}
@JsonCreator
public static LineChart.Type fromValue(String value) {
LineChart.Type constant = CONSTANTS.get(value);
if (constant == null) {
throw new IllegalArgumentException(value);
} else {
return constant;
}
}
}
}