TimeseriesDataPointsQueryParams.java
package de.dlr.shepard.data.timeseries.model;
import de.dlr.shepard.data.timeseries.model.enums.AggregateFunction;
import de.dlr.shepard.data.timeseries.model.enums.FillOption;
import java.util.Optional;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NonNull;
import lombok.RequiredArgsConstructor;
@EqualsAndHashCode
@RequiredArgsConstructor
@AllArgsConstructor
@Data
public class TimeseriesDataPointsQueryParams {
/**
* The start of the timeseries part to be fetched in nanoseconds since unix epoch
*/
@NonNull
private Long startTime;
/**
* The end of the timeseries part to be fetched in nanoseconds since unix epoch
*/
@NonNull
private Long endTime;
private Long timeSliceNanoseconds;
private FillOption fillOption;
private AggregateFunction function;
/**
*
* @return The time interval that measurements get grouped by to apply the aggregate function.
*/
public Optional<Long> getTimeSliceNanoseconds() {
return Optional.ofNullable(timeSliceNanoseconds);
}
/**
*
* @return The fill option for missing values when applying aggregate functions on possibly empty time slices.
*/
public Optional<FillOption> getFillOption() {
return Optional.ofNullable(fillOption);
}
/**
*
* @return The aggregate function.
*/
public Optional<AggregateFunction> getFunction() {
return Optional.ofNullable(function);
}
}