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

com.grafana.foundation.expr.Expr Maven / Gradle / Ivy

There is a newer version: 11.3.0-1730898216
Show newest version
// Code generated - EDITING IS FUTILE. DO NOT EDIT.

package com.grafana.foundation.expr;

import com.fasterxml.jackson.annotation.JsonUnwrapped;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.ObjectWriter;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;

@JsonDeserialize(using = ExprDeserializer.class)
public class Expr implements com.grafana.foundation.cog.variants.Dataquery {
    @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
    @JsonUnwrapped
    protected TypeMath typeMath;
    @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
    @JsonUnwrapped
    protected TypeReduce typeReduce;
    @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
    @JsonUnwrapped
    protected TypeResample typeResample;
    @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
    @JsonUnwrapped
    protected TypeClassicConditions typeClassicConditions;
    @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
    @JsonUnwrapped
    protected TypeThreshold typeThreshold;
    @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
    @JsonUnwrapped
    protected TypeSql typeSql;
    protected Expr() {}
    public static Expr createTypeMath(com.grafana.foundation.cog.Builder typeMath) {
        Expr expr = new Expr();
        expr.typeMath = typeMath.build();
        return expr;
    }
    public static Expr createTypeReduce(com.grafana.foundation.cog.Builder typeReduce) {
        Expr expr = new Expr();
        expr.typeReduce = typeReduce.build();
        return expr;
    }
    public static Expr createTypeResample(com.grafana.foundation.cog.Builder typeResample) {
        Expr expr = new Expr();
        expr.typeResample = typeResample.build();
        return expr;
    }
    public static Expr createTypeClassicConditions(com.grafana.foundation.cog.Builder typeClassicConditions) {
        Expr expr = new Expr();
        expr.typeClassicConditions = typeClassicConditions.build();
        return expr;
    }
    public static Expr createTypeThreshold(com.grafana.foundation.cog.Builder typeThreshold) {
        Expr expr = new Expr();
        expr.typeThreshold = typeThreshold.build();
        return expr;
    }
    public static Expr createTypeSql(com.grafana.foundation.cog.Builder typeSql) {
        Expr expr = new Expr();
        expr.typeSql = typeSql.build();
        return expr;
    }
    
    public String toJSON() throws JsonProcessingException {
        if (typeMath != null) {
            ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter();
            return ow.writeValueAsString(typeMath);
        }
        if (typeReduce != null) {
            ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter();
            return ow.writeValueAsString(typeReduce);
        }
        if (typeResample != null) {
            ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter();
            return ow.writeValueAsString(typeResample);
        }
        if (typeClassicConditions != null) {
            ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter();
            return ow.writeValueAsString(typeClassicConditions);
        }
        if (typeThreshold != null) {
            ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter();
            return ow.writeValueAsString(typeThreshold);
        }
        if (typeSql != null) {
            ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter();
            return ow.writeValueAsString(typeSql);
        }
        
        return null;
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy