package com.codechecker.config;

/**
 * Dto 类变更与 API 参数变更重叠时的通知策略。
 */
public enum DtoOverlapMode {
    /** 仅发类变更通知，抑制重叠的 API 参数通知 */
    CLASS_ONLY,
    /** 仅发 API 参数通知，抑制重叠的类变更通知 */
    API_ONLY,
    /** 两类通知均发送 */
    BOTH;

    public static DtoOverlapMode fromString(String value) {
        if (value == null || value.isBlank()) {
            return BOTH;
        }
        try {
            return DtoOverlapMode.valueOf(value.trim().toUpperCase());
        } catch (IllegalArgumentException ex) {
            return BOTH;
        }
    }
}
