com.geotab.model.entity.diagnostic.GoDiagnostic Maven / Gradle / Ivy
/*
*
* 2020 Copyright (C) Geotab Inc. All rights reserved.
*/
package com.geotab.model.entity.diagnostic;
import com.geotab.model.entity.controller.NoController;
import com.geotab.model.entity.enginetype.EngineTypeNone;
import com.geotab.model.entity.source.Source;
import com.geotab.model.entity.source.SourceGo;
import com.geotab.model.entity.unitofmeasure.UnitOfMeasure;
import com.geotab.model.enumeration.DiagnosticType;
import com.geotab.model.enumeration.FaultResetMode;
import com.geotab.model.enumeration.ValidLoggingPeriod;
import java.util.Optional;
import lombok.Builder;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
/**
* A diagnostic that originates from a Go Device.
*/
@NoArgsConstructor
@Getter
@Setter
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
public class GoDiagnostic extends DataDiagnostic {
@Builder(builderMethodName = "goDiagnosticBuilder")
public GoDiagnostic(String id, String name, Long version, Integer code,
FaultResetMode faultResetMode, Source source,
UnitOfMeasure unitOfMeasure, ValidLoggingPeriod validLoggingPeriod,
Boolean isLogGuaranteedOnEstimateError, Double conversion, Integer dataLength) {
super(id, name, version, code, NoController.getInstance(), DiagnosticType.GO_DIAGNOSTIC,
EngineTypeNone.getInstance(), faultResetMode,
Optional.ofNullable(source).orElse(SourceGo.getInstance()), unitOfMeasure,
validLoggingPeriod, isLogGuaranteedOnEstimateError, conversion, dataLength, 0D);
}
}