Data-old/src/main/java/de/ph87/data/series/SeriesIntervalKey.java

38 lines
914 B
Java

package de.ph87.data.series;
import de.ph87.data.series.interval.Interval;
import jakarta.persistence.Column;
import jakarta.persistence.Embeddable;
import jakarta.persistence.ManyToOne;
import lombok.*;
import java.io.Serializable;
import java.time.ZonedDateTime;
@Getter
@ToString
@Embeddable
@EqualsAndHashCode
@NoArgsConstructor
public class SeriesIntervalKey implements Serializable {
@NonNull
@ManyToOne(optional = false)
private Series series;
@NonNull
@Column(nullable = false, updatable = false, columnDefinition = "CHAR(1)")
private Interval interval;
@NonNull
@Column(nullable = false, updatable = false)
private ZonedDateTime aligned;
public SeriesIntervalKey(@NonNull final Series series, @NonNull final Interval interval, @NonNull final ZonedDateTime unaligned) {
this.series = series;
this.interval = interval;
this.aligned = interval.align(unaligned);
}
}