package com.keyware.composeanalysis.mongo; import lombok.Data; import org.springframework.data.annotation.Id; import org.springframework.data.mongodb.core.mapping.Document; import java.util.ArrayList; import java.util.List; /** * AssemblyMongoDto 类,用于封装 MongoDB 中的装配数据文档。 * 此类映射到名为 "assembly_data" 的 MongoDB 集合。 * * @author liuzongren * @date 2024/7/9 */ @Document(collection = "assembly_data") @Data public class AssemblyMongoDto { /** * MongoDB 文档的唯一标识符。 */ @Id private String id; /** * 项目引用文件的名称。 */ private String fileName; /** * 匹配到的开源组件名称。 */ private String assemblyName; /** * 匹配到的开源组件版本号。 */ private String assemblyVersion; /** * 组件的来源 URL。 */ private String url; /** * 开源率,描述组件开源程度的指标。 */ private String semblance; /** * 许可证列表,描述组件的许可协议。 */ private List license; /** * 任务 ID,与分析任务关联。 */ private String testFileId; /** * 文件 ID,与特定文件关联。 */ private String fileId; /** * 父节点编号,用于构建树形结构。 */ private int parentNode; /** * 节点所在的层次。 */ private int layer; /** * 当前节点的编号。 */ private int node; /** * 子节点集合,用于构建树形结构。 */ private List children = new ArrayList<>(); /** * 添加子节点的方法。 * * @param child 要添加的子节点 */ public void addChild(AssemblyMongoDto child) { children.add(child); } }