package com.example.agvcontroller.protocol; /** * 应答实体枚举 * Created by vincent on 2019-04-02 */ public enum ProtocolPojoType { PATH_COMMAND(ProtocolType.PATH_COMMAND, AGV_01_DOWN.class), ACTION_COMMAND(ProtocolType.ACTION_COMMAND, AGV_02_DOWN.class), LOGIN_ACK(ProtocolType.LOGIN_ACK, AGV_F0_DOWN.class), ACTION_SUCCESS_ACK(ProtocolType.ACTION_SUCCESS_ACK, AGV_A1_DOWN.class), ACTIVATION_COMMAND(ProtocolType.ACTIVATION_COMMAND, AGV_80_DOWN.class), HEARTBEAT_COMMAND(ProtocolType.HEARTBEAT_COMMAND, AGV_03_DOWN.class), ; public final ProtocolType protocolType; public final Class clazz; ProtocolPojoType(ProtocolType protocolType, Class clazz) { this.protocolType = protocolType; this.clazz = clazz; } public static ProtocolPojoType query(ProtocolType protocolType) { for (ProtocolPojoType type : ProtocolPojoType.values()) { if (protocolType.equals(type.protocolType)) { return type; } } return null; } public static ProtocolPojoType query(Class clazz) { for (ProtocolPojoType type : ProtocolPojoType.values()) { if (clazz.equals(type.clazz)) { return type; } } return null; } }