package de.ph87.data.series; 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 { public final List 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(); } }