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

com.geotab.model.entity.device.CustomDevice Maven / Gradle / Ivy

package com.geotab.model.entity.device;

import com.geotab.model.entity.group.Group;
import com.geotab.model.entity.worktime.WorkTime;
import com.geotab.model.enumeration.DevicePlan;
import com.geotab.model.enumeration.DeviceType;
import java.time.Duration;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
import lombok.Builder;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;

/**
 * A custom third-party device that is used in MyGeotab. This is used for extensibility and is based
 * on the {@link Device} object.
 */
@NoArgsConstructor
@Getter
@Setter
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
public class CustomDevice extends Device {

  @Builder(builderMethodName = "customDeviceBuilder")
  public CustomDevice(String id, String name, Long version,
      DeviceType deviceType, LocalDateTime ignoreDownloadsUntil,
      String serialNumber, Integer productId, Duration timeToDownload,
      WorkTime workTime, List groups, List devicePlans, String timeZoneId,
      Float maxSecondsBetweenLogs, LocalDateTime activeFrom, LocalDateTime activeTo, String comment,
      DeviceFlags deviceFlags, Map customFeatures) {
    super(id, name, version, deviceType, ignoreDownloadsUntil, serialNumber, productId,
        timeToDownload, workTime, groups, devicePlans, timeZoneId,
        maxSecondsBetweenLogs, activeFrom, activeTo, comment, deviceFlags, customFeatures);
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy