com.geotab.model.entity.driverchange.DriverChange Maven / Gradle / Ivy
package com.geotab.model.entity.driverchange;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.geotab.model.entity.EntityWithVersion;
import com.geotab.model.entity.device.Device;
import com.geotab.model.entity.user.Driver;
import com.geotab.model.serialization.serdes.DriverEmbeddedSerializer;
import com.geotab.model.serialization.serdes.DriverFromIdDeserializer;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.experimental.SuperBuilder;
/**
* Information about timing of a {@link Driver} change.
*/
@Getter @Setter
@NoArgsConstructor
@SuperBuilder
public class DriverChange extends EntityWithVersion {
/**
* The Driver associated with the change.
*/
@JsonDeserialize(using = DriverFromIdDeserializer.class)
@JsonSerialize(using = DriverEmbeddedSerializer.class)
private Driver driver;
/**
* The Device associated with the change.
*/
private Device device;
/**
* The DriverChangeType.
*/
private DriverChangeType type;
/**
* The date and time of the driver change.
*/
private LocalDateTime dateTime;
}