package org.glukit.dexcom.sync.model;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.glukit.sync.api.ReceiverSyncData;
import org.threeten.bp.Instant;
import java.util.List;
/**
* Represents the full set of data from a sync on a {@link org.glukit.dexcom.sync.g4.DexcomG4DeviceFilter}
*
* @author alexandre.normand
*/
@ToString
@EqualsAndHashCode
public class DexcomSyncData implements ReceiverSyncData {
private List<GlucoseReadRecord> glucoseReads;
private List<UserEventRecord> userEvents;
private ManufacturingParameters manufacturingParameters;
private Instant syncTime;
public DexcomSyncData(List<GlucoseReadRecord> glucoseReads,
List<UserEventRecord> userEvents,
ManufacturingParameters manufacturingParameters) {
this.glucoseReads = glucoseReads;
this.userEvents = userEvents;
this.manufacturingParameters = manufacturingParameters;
this.syncTime = Instant.now();
}
public DexcomSyncData(List<GlucoseReadRecord> glucoseReads,
List<UserEventRecord> userEvents,
ManufacturingParameters manufacturingParameters,
Instant updateTime) {
this.glucoseReads = glucoseReads;
this.userEvents = userEvents;
this.manufacturingParameters = manufacturingParameters;
this.syncTime = updateTime;
}
public List<GlucoseReadRecord> getGlucoseReads() {
return glucoseReads;
}
public ManufacturingParameters getManufacturingParameters() {
return manufacturingParameters;
}
public List<UserEventRecord> getUserEvents() {
return userEvents;
}
@Override
public Instant getUpdateTime() {
return syncTime;
}
}