mirror of
https://github.com/slhaf/Partner.git
synced 2026-05-12 16:53:04 +08:00
- 新增 PersistableObject 抽象类以统一持久化对象
- 修改 MemoryGraph、MemoryNode、MemorySlice 和 TopicNode 继承 PersistableObject - 添加 serialVersionUID 以保证序列化兼容性
This commit is contained in:
@@ -1,11 +1,13 @@
|
||||
package work.slhaf.memory;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import work.slhaf.memory.content.MemorySlice;
|
||||
import work.slhaf.memory.exception.UnExistedTopicException;
|
||||
import work.slhaf.memory.node.MemoryNode;
|
||||
import work.slhaf.memory.node.TopicNode;
|
||||
import work.slhaf.memory.pojo.PersistableObject;
|
||||
|
||||
import java.io.*;
|
||||
import java.nio.file.Files;
|
||||
@@ -15,12 +17,14 @@ import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.*;
|
||||
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@Slf4j
|
||||
public class MemoryGraph implements Serializable {
|
||||
public class MemoryGraph extends PersistableObject {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private static final String STORAGE_DIR = "./data/memory/";
|
||||
//todo: 实现记忆的短期缓存机制
|
||||
private String id;
|
||||
|
||||
@@ -1,13 +1,19 @@
|
||||
package work.slhaf.memory.content;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import work.slhaf.chat.pojo.Message;
|
||||
import work.slhaf.memory.pojo.PersistableObject;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.io.Serial;
|
||||
import java.util.List;
|
||||
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class MemorySlice implements Serializable, Comparable<MemorySlice> {
|
||||
public class MemorySlice extends PersistableObject implements Comparable<MemorySlice> {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 关联的完整对话的id
|
||||
|
||||
@@ -1,18 +1,24 @@
|
||||
package work.slhaf.memory.node;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import work.slhaf.memory.content.MemorySlice;
|
||||
import work.slhaf.memory.exception.NullSliceListException;
|
||||
import work.slhaf.memory.pojo.PersistableObject;
|
||||
|
||||
import java.io.*;
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@Slf4j
|
||||
public class MemoryNode implements Serializable, Comparable<MemoryNode> {
|
||||
public class MemoryNode extends PersistableObject implements Comparable<MemoryNode> {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private static String SLICE_DATA_DIR = "./data/slice/";
|
||||
|
||||
|
||||
@@ -1,13 +1,20 @@
|
||||
package work.slhaf.memory.node;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import work.slhaf.memory.pojo.PersistableObject;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.io.Serial;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class TopicNode implements Serializable {
|
||||
public class TopicNode extends PersistableObject {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private HashMap<String,TopicNode> topicNodes;
|
||||
private List<MemoryNode> memoryNodes;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
package work.slhaf.memory.pojo;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
public abstract class PersistableObject implements Serializable {
|
||||
}
|
||||
Reference in New Issue
Block a user