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<? extends IMessageBody> clazz;
|
|
ProtocolPojoType(ProtocolType protocolType, Class<? extends IMessageBody> 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<? extends IMessageBody> clazz) {
|
for (ProtocolPojoType type : ProtocolPojoType.values()) {
|
if (clazz.equals(type.clazz)) {
|
return type;
|
}
|
}
|
return null;
|
}
|
|
}
|