Data/src/main/java/de/ph87/data/series/SeriesDto.java

73 lines
1.5 KiB
Java

package de.ph87.data.series;
import com.fasterxml.jackson.annotation.JsonIgnore;
import de.ph87.data.value.Unit;
import de.ph87.data.web.IWebSocketMessage;
import jakarta.annotation.Nullable;
import lombok.Getter;
import lombok.NonNull;
import lombok.ToString;
import java.time.ZonedDateTime;
import java.util.List;
@Getter
@ToString
public class SeriesDto implements IWebSocketMessage {
@JsonIgnore
public final List<Object> websocketTopic = List.of("Series");
public final long id;
public final String name;
public final String title;
public final Unit unit;
public final int decimals;
public final SeriesType type;
@Nullable
public final Double yMin;
@Nullable
public final Double yMax;
public final boolean autoscale;
public final double min;
public final double max;
public final double avg;
public final int count;
public final double lastValue;
@NonNull
public final ZonedDateTime lastDate;
public SeriesDto(@NonNull final Series series) {
this.id = series.getId();
this.name = series.getName();
this.title = series.getTitle();
this.unit = series.getUnit();
this.decimals = series.getDecimals();
this.type = series.getType();
this.yMin = series.getYMin();
this.yMax = series.getYMax();
this.autoscale = series.isAutoscale();
this.min = series.getMin();
this.max = series.getMax();
this.avg = series.getAvg();
this.count = series.getCount();
this.lastDate = series.getLastDate();
this.lastValue = series.getLastValue();
}
}