package com.infoepoch.pms.agent.platform.chat.domain.irepository;

import com.infoepoch.pms.agent.common.utils.AbstractCriteria;

/**
 * @author jiangyz
 * @date 2026/4/18 10:32
 * 检查点查询条件类
 */
public class GraphCheckPointCriteria extends AbstractCriteria {

    //region
    public boolean byCheckPointId() {
        return this.andMap.containsKey("CheckPointId");
    }

    private String checkPointId;

    public String getCheckPointId() {
        if (byCheckPointId())
            return checkPointId;
        return null;
    }

    public void setCheckPointId(String value) {
        this.checkPointId = value;
        this.andMap.put("CheckPointId", value);
    }
    //endregion

    //region
    public boolean byParentCheckPointId() {
        return this.andMap.containsKey("ParentCheckPointId");
    }

    private String parentCheckPointId;

    public String getParentCheckPointId() {
        if (byParentCheckPointId())
            return parentCheckPointId;
        return null;
    }

    public void setParentCheckPointId(String value) {
        this.parentCheckPointId = value;
        this.andMap.put("ParentCheckPointId", value);
    }
    //endregion

    //region
    public boolean byThreadId() {
        return this.andMap.containsKey("ThreadId");
    }

    private String threadId;

    public String getThreadId() {
        if (byThreadId())
            return threadId;
        return null;
    }

    public void setThreadId(String value) {
        this.threadId = value;
        this.andMap.put("ThreadId", value);
    }
    //endregion

    //region
    public boolean byNodeId() {
        return this.andMap.containsKey("NodeId");
    }

    private String nodeId;

    public String getNodeId() {
        if (byNodeId())
            return nodeId;
        return null;
    }

    public void setNodeId(String value) {
        this.nodeId = value;
        this.andMap.put("NodeId", value);
    }
    //endregion

    //region
    public boolean byNextNodeId() {
        return this.andMap.containsKey("NextNodeId");
    }

    private String nextNodeId;

    public String getNextNodeId() {
        if (byNextNodeId())
            return nextNodeId;
        return null;
    }

    public void setNextNodeId(String value) {
        this.nextNodeId = value;
        this.andMap.put("NextNodeId", value);
    }
    //endregion

}