All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.geotab.model.entity.debugdata.DebugData Maven / Gradle / Ivy

package com.geotab.model.entity.debugdata;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.geotab.model.entity.Entity;
import com.geotab.model.entity.device.Device;
import com.geotab.model.entity.user.Driver;
import com.geotab.model.serialization.serdes.ByteArrayDeserializer;
import com.geotab.model.serialization.serdes.ByteArraySerializer;
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;

/**
 * DebugData is generated by Geotab GO devices for internal debugging or troubleshooting purposes. This may include
 * information regarding the state of the modem, firmware or conditions that the device is experiencing.
 */
@Getter @Setter
@NoArgsConstructor
@SuperBuilder
public class DebugData extends Entity {

  /**
   * The binary data.
   */
  @JsonDeserialize(using = ByteArrayDeserializer.class)
  @JsonSerialize(using = ByteArraySerializer.class)
  private Byte[] data;

  /**
   * The Driver of the vehicle at the time the DebugData log entry was created.
   */
  @JsonDeserialize(using = DriverFromIdDeserializer.class)
  @JsonSerialize(using = DriverEmbeddedSerializer.class)
  private Driver driver;

  /**
   * The device associated with the vehicle.
   */
  private Device device;

  /**
   * The date and time the DebugData log was created.
   */
  private LocalDateTime dateTime;

  /**
   * The DebugReason; used for troubleshooting/debugging purposes only.
   */
  private String debugReason;
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy