package com.qaup.collision.websocket.message;

/**
 * WebSocket消息类型常量定义
 * 与前端和测试系统保持一致的消息类型字符串
 */
public final class MessageTypeConstants {
    
    /**
     * 位置更新消息
     */
    public static final String POSITION_UPDATE = "position_update";
    
    /**
     * 红绿灯状态消息
     */
    public static final String TRAFFIC_LIGHT_STATUS = "intersection_traffic_light_status";
    
    /**
     * 碰撞预警消息
     */
    public static final String COLLISION_WARNING = "collision_warning";
    
    /**
     * 车辆控制指令消息
     */
    public static final String VEHICLE_COMMAND = "vehicle_command";
    
    /**
     * 系统告警消息
     */
    public static final String SYSTEM_ALERT = "system_alert";
    
    /**
     * 心跳消息
     */
    public static final String HEARTBEAT = "heartbeat";
    
    // === 规则事件相关消息类型 ===
    
    /**
     * 规则违规事件消息
     */
    public static final String RULE_VIOLATION = "rule_violation";
    
    /**
     * 规则执行状态消息
     */
    public static final String RULE_EXECUTION_STATUS = "rule_execution_status";
    
    /**
     * 规则状态变更消息
     */
    public static final String RULE_STATE_CHANGE = "rule_state_change";
    
    /**
     * 规则配置更新消息
     */
    public static final String RULE_CONFIG_UPDATE = "rule_config_update";
    
    /**
     * 规则告警消息
     */
    public static final String RULE_ALERT = "rule_alert";
    
    /**
     * 路径冲突告警消息
     */
    public static final String PATH_CONFLICT_ALERT = "path_conflict_alert";
    
    /**
     * 电子围栏告警消息
     */
    public static final String GEOFENCE_ALERT = "geofence_alert";
    
    // 私有构造函数，防止实例化
    private MessageTypeConstants() {
        throw new UnsupportedOperationException("常量类不允许实例化");
    }
} 