/*
 *  Copyright (c) 2023-2026, Easy-Agents (fuhai999@gmail.com).
 *  <p>
 *  Licensed under the Apache License, Version 2.0 (the "License");
 */
package com.easyagents.mcp.client;

/**
 * MCP 单项检测结果。
 */
public class McpCheckItem {

    private String name;
    private McpCheckStatus status = McpCheckStatus.SUCCESS;
    private String message;
    private String detail;

    /**
     * 创建检测项。
     *
     * @param name 检测项名称
     * @param status 检测状态
     * @param message 检测消息
     * @param detail 检测详情
     * @return 检测项
     */
    public static McpCheckItem of(String name, McpCheckStatus status, String message, String detail) {
        McpCheckItem item = new McpCheckItem();
        item.setName(name);
        item.setStatus(status);
        item.setMessage(message);
        item.setDetail(detail);
        return item;
    }

    /**
     * 获取检测项名称。
     *
     * @return 检测项名称
     */
    public String getName() {
        return name;
    }

    /**
     * 设置检测项名称。
     *
     * @param name 检测项名称
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取检测状态。
     *
     * @return 检测状态
     */
    public McpCheckStatus getStatus() {
        return status;
    }

    /**
     * 设置检测状态。
     *
     * @param status 检测状态
     */
    public void setStatus(McpCheckStatus status) {
        this.status = status == null ? McpCheckStatus.SUCCESS : status;
    }

    /**
     * 获取检测消息。
     *
     * @return 检测消息
     */
    public String getMessage() {
        return message;
    }

    /**
     * 设置检测消息。
     *
     * @param message 检测消息
     */
    public void setMessage(String message) {
        this.message = message;
    }

    /**
     * 获取检测详情。
     *
     * @return 检测详情
     */
    public String getDetail() {
        return detail;
    }

    /**
     * 设置检测详情。
     *
     * @param detail 检测详情
     */
    public void setDetail(String detail) {
        this.detail = detail;
    }
}
