package com.example.demo.model.enums;

/**
 * 事件来源类型枚举。
 * <p>
 * 定义事件数据来源的传感器类型。
 * </p>
 */
public enum EventSourceType {

    /** 雷达传感器 */
    RADAR(1, "雷达"),

    /** 光电传感器 */
    OPTOELECTRONIC(2, "光电"),

    /** 电子侦察 */
    ELECTRONIC_RECON(3, "电子侦察"),

    /** 通信情报 */
    COMMUNICATION_INTEL(4, "通信情报");

    private final int code;
    private final String description;

    EventSourceType(int code, String description) {
        this.code = code;
        this.description = description;
    }

    public int getCode() {
        return code;
    }

    public String getDescription() {
        return description;
    }

    /**
     * 根据来源码获取枚举实例。
     *
     * @param code 来源码
     * @return 对应的枚举实例
     */
    public static EventSourceType fromCode(int code) {
        for (EventSourceType type : values()) {
            if (type.code == code) {
                return type;
            }
        }
        return null;
    }
}
