| package org.yzh.protocol.commons.transform; | 
|   | 
| import io.github.yezhihao.protostar.PrepareLoadStrategy; | 
| import io.github.yezhihao.protostar.ProtostarUtil; | 
| import io.github.yezhihao.protostar.schema.MapSchema; | 
| import io.github.yezhihao.protostar.schema.NumberSchema; | 
| import org.yzh.protocol.commons.transform.attribute.*; | 
|   | 
| /** | 
|  * 位置附加信息转换器(苏标) | 
|  * @author yezhihao | 
|  * https://gitee.com/yezhihao/jt808-server | 
|  */ | 
| public class AttributeConverter extends MapSchema<Number, Object> { | 
|   | 
|     public AttributeConverter() { | 
|         super(NumberSchema.BYTE_INT, 1); | 
|     } | 
|   | 
|     @Override | 
|     protected void addSchemas(PrepareLoadStrategy<Number> schemaRegistry) { | 
|         schemaRegistry | 
|                 .addSchema(AttributeKey.Mileage, NumberSchema.DWORD_LONG) | 
|                 .addSchema(AttributeKey.Fuel, NumberSchema.WORD_INT) | 
|                 .addSchema(AttributeKey.Speed, NumberSchema.WORD_INT) | 
|                 .addSchema(AttributeKey.AlarmEventId, NumberSchema.WORD_INT) | 
|                 .addSchema(AttributeKey.TirePressure, TirePressure.SCHEMA) | 
|                 .addSchema(AttributeKey.CarriageTemperature, NumberSchema.WORD_SHORT) | 
|   | 
|                 .addSchema(AttributeKey.OverSpeedAlarm, OverSpeedAlarm.SCHEMA) | 
|                 .addSchema(AttributeKey.InOutAreaAlarm, InOutAreaAlarm.SCHEMA) | 
|                 .addSchema(AttributeKey.RouteDriveTimeAlarm, RouteDriveTimeAlarm.SCHEMA) | 
|   | 
|                 .addSchema(AttributeKey.VideoRelatedAlarm, NumberSchema.DWORD_INT) | 
|                 .addSchema(AttributeKey.VideoMissingStatus, NumberSchema.DWORD_INT) | 
|                 .addSchema(AttributeKey.VideoObscuredStatus, NumberSchema.DWORD_INT) | 
|                 .addSchema(AttributeKey.StorageFailureStatus, NumberSchema.WORD_INT) | 
|                 .addSchema(AttributeKey.DriverBehaviorAlarm, NumberSchema.WORD_INT) | 
|   | 
|                 .addSchema(AttributeKey.Signal, NumberSchema.DWORD_INT) | 
|                 .addSchema(AttributeKey.IoState, NumberSchema.WORD_INT) | 
|                 .addSchema(AttributeKey.AnalogQuantity, NumberSchema.DWORD_INT) | 
|                 .addSchema(AttributeKey.SignalStrength, NumberSchema.BYTE_INT) | 
|                 .addSchema(AttributeKey.GnssCount, NumberSchema.BYTE_INT) | 
|   | 
|                 .addSchema(AttributeKey.AlarmADAS, ProtostarUtil.getRuntimeSchema(AlarmADAS.class, 0)) | 
|                 .addSchema(AttributeKey.AlarmBSD, ProtostarUtil.getRuntimeSchema(AlarmBSD.class, 0)) | 
|                 .addSchema(AttributeKey.AlarmDSM, ProtostarUtil.getRuntimeSchema(AlarmDSM.class, 0)) | 
|                 .addSchema(AttributeKey.AlarmTPMS, ProtostarUtil.getRuntimeSchema(AlarmTPMS.class, 0)) | 
|   | 
|                 .addSchema(AttributeKey.InstallErrorMsg, NumberSchema.DWORD_INT) | 
|                 .addSchema(AttributeKey.Battery, Battery.SCHEMA) | 
|                 .addSchema(AttributeKey.Battery0102, NumberSchema.DWORD_INT) | 
|                 .addSchema(AttributeKey.Battery0304, NumberSchema.DWORD_INT) | 
|                 .addSchema(AttributeKey.Battery0506, NumberSchema.DWORD_INT) | 
|                 .addSchema(AttributeKey.ExtendLength, NumberSchema.DWORD_INT) | 
|                 .addSchema(AttributeKey.CarDoorStatus, NumberSchema.DWORD_INT) | 
|                 .addSchema(AttributeKey.CarWindowStatus, NumberSchema.DWORD_INT) | 
|                 .addSchema(AttributeKey.SafetyBelt, NumberSchema.DWORD_INT) | 
|                 .addSchema(AttributeKey.CarAlermStatus, NumberSchema.DWORD_INT) | 
|                 .addSchema(AttributeKey.CarFaultStatus, NumberSchema.DWORD_INT) | 
|                 .addSchema(AttributeKey.CarGearStatus, NumberSchema.DWORD_INT) | 
|                 .addSchema(AttributeKey.CarTireStatus, NumberSchema.DWORD_INT) | 
|                 .addSchema(AttributeKey.Temprature, NumberSchema.DWORD_INT) | 
|                 .addSchema(AttributeKey.BaseStationExtend, NumberSchema.DWORD_INT) | 
|   | 
|         ; | 
|     } | 
| } |