Files
Easy-Agents/easy-agents-skill/src/main/java/com/easyagents/skill/model/Skill.java

176 lines
3.5 KiB
Java

package com.easyagents.skill.model;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* Skill 聚合根。
*/
public class Skill implements Serializable {
private static final long serialVersionUID = 1L;
private String id;
private String name;
private String description;
private SkillMetadata metadata = new SkillMetadata();
private String skillContent;
private List<SkillReference> references = new ArrayList<>();
private List<SkillScript> scripts = new ArrayList<>();
private List<SkillAsset> assets = new ArrayList<>();
/**
* 获取 Skill ID。
*
* @return Skill ID
*/
public String getId() {
return id;
}
/**
* 设置 Skill ID。
*
* @param id Skill ID
*/
public void setId(String id) {
this.id = id;
}
/**
* 获取名称。
*
* @return 名称
*/
public String getName() {
return name;
}
/**
* 设置名称。
*
* @param name 名称
*/
public void setName(String name) {
this.name = name;
}
/**
* 获取描述。
*
* @return 描述
*/
public String getDescription() {
return description;
}
/**
* 设置描述。
*
* @param description 描述
*/
public void setDescription(String description) {
this.description = description;
}
/**
* 获取元数据。
*
* @return 元数据
*/
public SkillMetadata getMetadata() {
return metadata;
}
/**
* 设置元数据。
*
* @param metadata 元数据
*/
public void setMetadata(SkillMetadata metadata) {
this.metadata = metadata == null ? new SkillMetadata() : metadata;
}
/**
* 获取 SKILL.md 原始内容。
*
* @return SKILL.md 原始内容
*/
public String getSkillContent() {
return skillContent;
}
/**
* 设置 SKILL.md 原始内容。
*
* @param skillContent SKILL.md 原始内容
*/
public void setSkillContent(String skillContent) {
this.skillContent = skillContent;
}
/**
* 获取参考文档列表。
*
* @return 参考文档列表
*/
public List<SkillReference> getReferences() {
return references;
}
/**
* 设置参考文档列表。
*
* @param references 参考文档列表
*/
public void setReferences(List<SkillReference> references) {
this.references = references == null ? new ArrayList<>() : new ArrayList<>(references);
}
/**
* 获取脚本列表。
*
* @return 脚本列表
*/
public List<SkillScript> getScripts() {
return scripts;
}
/**
* 设置脚本列表。
*
* @param scripts 脚本列表
*/
public void setScripts(List<SkillScript> scripts) {
this.scripts = scripts == null ? new ArrayList<>() : new ArrayList<>(scripts);
}
/**
* 获取资产列表。
*
* @return 资产列表
*/
public List<SkillAsset> getAssets() {
return assets;
}
/**
* 设置资产列表。
*
* @param assets 资产列表
*/
public void setAssets(List<SkillAsset> assets) {
this.assets = assets == null ? new ArrayList<>() : new ArrayList<>(assets);
}
/**
* 转换为轻量描述。
*
* @return Skill 描述
*/
public SkillDescriptor toDescriptor() {
return new SkillDescriptor(id, name, description, metadata);
}
}