176 lines
3.5 KiB
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);
|
|
}
|
|
}
|