package tech.easyflow.skill.validation;

/**
 * 标准 Skill 包的结构化校验问题。
 */
public class SkillValidationIssue {

    private String severity;
    private String code;
    private String message;
    private String path;
    private Integer line;
    private Integer column;
    private String suggestion;

    /**
     * 创建校验问题。
     *
     * @param severity 严重级别
     * @param code 问题编码
     * @param message 可执行的错误说明
     * @param path 文件或配置路径
     * @return 校验问题
     */
    public static SkillValidationIssue of(String severity, String code, String message, String path) {
        SkillValidationIssue issue = new SkillValidationIssue();
        issue.setSeverity(severity);
        issue.setCode(code);
        issue.setMessage(message);
        issue.setPath(path);
        return issue;
    }

    public String getSeverity() { return severity; }
    public void setSeverity(String severity) { this.severity = severity; }
    public String getCode() { return code; }
    public void setCode(String code) { this.code = code; }
    public String getMessage() { return message; }
    public void setMessage(String message) { this.message = message; }
    public String getPath() { return path; }
    public void setPath(String path) { this.path = path; }
    public Integer getLine() { return line; }
    public void setLine(Integer line) { this.line = line; }
    public Integer getColumn() { return column; }
    public void setColumn(Integer column) { this.column = column; }
    public String getSuggestion() { return suggestion; }
    public void setSuggestion(String suggestion) { this.suggestion = suggestion; }
}
