package com.solution.system.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.solution.common.annotation.Excel;
import com.solution.common.core.domain.BaseEntity;

/**
 * 行为树实例节点对象 treenodeinstance
 * 
 * @author ruoyi
 * @date 2026-02-05
 */
public class Treenodeinstance extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 节点实例ID (主键) */
    private Long id;

    /** 属于哪棵行为树 (外键: BehaviorTree.id) */
    @Excel(name = "属于哪棵行为树 (外键: BehaviorTree.id)")
    private Long treeId;

    /** 引用哪个节点模板 (外键: NodeTemplate.id) */
    @Excel(name = "引用哪个节点模板 (外键: NodeTemplate.id)")
    private Long templateId;

    /** 节点的显示名称 (可能与模板名称不同, 用于区分实例) */
    @Excel(name = "节点的显示名称 (可能与模板名称不同, 用于区分实例)")
    private String instanceName;

    /** 判断当前节点是否为根节点，默认情况下是非根节点 */
    @Excel(name = "判断当前节点是否为根节点，默认情况下是非根节点")
    private Long isRoot;

    /** 节点执行的判断条件对应的模版id */
    @Excel(name = "节点执行的判断条件对应的模版id")
    private Long preconditionTempleteId;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String uuid;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setTreeId(Long treeId) 
    {
        this.treeId = treeId;
    }

    public Long getTreeId() 
    {
        return treeId;
    }

    public void setTemplateId(Long templateId) 
    {
        this.templateId = templateId;
    }

    public Long getTemplateId() 
    {
        return templateId;
    }

    public void setInstanceName(String instanceName) 
    {
        this.instanceName = instanceName;
    }

    public String getInstanceName() 
    {
        return instanceName;
    }

    public void setIsRoot(Long isRoot) 
    {
        this.isRoot = isRoot;
    }

    public Long getIsRoot() 
    {
        return isRoot;
    }

    public void setPreconditionTempleteId(Long preconditionTempleteId) 
    {
        this.preconditionTempleteId = preconditionTempleteId;
    }

    public Long getPreconditionTempleteId() 
    {
        return preconditionTempleteId;
    }

    public void setUuid(String uuid) 
    {
        this.uuid = uuid;
    }

    public String getUuid() 
    {
        return uuid;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("treeId", getTreeId())
            .append("templateId", getTemplateId())
            .append("instanceName", getInstanceName())
            .append("isRoot", getIsRoot())
            .append("preconditionTempleteId", getPreconditionTempleteId())
            .append("uuid", getUuid())
            .toString();
    }
}
