com.geotab.model.entity.reporttemplate.ReportTemplate Maven / Gradle / Ivy
package com.geotab.model.entity.reporttemplate;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.geotab.model.entity.NameEntity;
import com.geotab.model.serialization.serdes.ByteArrayDeserializer;
import com.geotab.model.serialization.serdes.ByteArraySerializer;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.experimental.SuperBuilder;
/**
* ReportTemplate class represents a template for reports that is an Excel file.
*/
@Getter @Setter
@NoArgsConstructor
@SuperBuilder
public class ReportTemplate extends NameEntity {
/**
* The Excel binary data.
*/
@JsonDeserialize(using = ByteArrayDeserializer.class)
@JsonSerialize(using = ByteArraySerializer.class)
private Byte[] binaryData;
/**
* Whether the ReportTemplate is System.
*/
@JsonProperty("isSystem")
private Boolean isSystem;
/**
* The {@link ReportDataSource}.
*/
private ReportDataSource reportDataSource;
/**
* The {@link ReportTemplateType}.
*/
private ReportTemplateType reportTemplateType;
/**
* Whether the ReportTemplate is shown in the report dropdowns.
*/
@JsonProperty("showReport")
private Boolean showReport;
}