diff --git a/src/Notes-master/app/src/main/java/net/micode/notes/gtask/data/Node.java b/src/Notes-master/app/src/main/java/net/micode/notes/gtask/data/Node.java index 63950e0..e19de71 100644 --- a/src/Notes-master/app/src/main/java/net/micode/notes/gtask/data/Node.java +++ b/src/Notes-master/app/src/main/java/net/micode/notes/gtask/data/Node.java @@ -20,33 +20,31 @@ import android.database.Cursor; import org.json.JSONObject; +/** + * Node 是一个抽象基类,代表 Google Tasks 同步系统中的数据节点。 + * 它定义了数据节点的基本属性和同步操作接口,所有具体的数据类型(如任务、元数据)都应继承此类。 + */ public abstract class Node { - public static final int SYNC_ACTION_NONE = 0; - - public static final int SYNC_ACTION_ADD_REMOTE = 1; - - public static final int SYNC_ACTION_ADD_LOCAL = 2; - - public static final int SYNC_ACTION_DEL_REMOTE = 3; - - public static final int SYNC_ACTION_DEL_LOCAL = 4; - - public static final int SYNC_ACTION_UPDATE_REMOTE = 5; - - public static final int SYNC_ACTION_UPDATE_LOCAL = 6; - - public static final int SYNC_ACTION_UPDATE_CONFLICT = 7; - - public static final int SYNC_ACTION_ERROR = 8; - - private String mGid; - - private String mName; - - private long mLastModified; - - private boolean mDeleted; - + // 同步操作类型常量 + public static final int SYNC_ACTION_NONE = 0; // 无需同步 + public static final int SYNC_ACTION_ADD_REMOTE = 1; // 添加到远程 + public static final int SYNC_ACTION_ADD_LOCAL = 2; // 添加到本地 + public static final int SYNC_ACTION_DEL_REMOTE = 3; // 删除远程数据 + public static final int SYNC_ACTION_DEL_LOCAL = 4; // 删除本地数据 + public static final int SYNC_ACTION_UPDATE_REMOTE = 5; // 更新远程数据 + public static final int SYNC_ACTION_UPDATE_LOCAL = 6; // 更新本地数据 + public static final int SYNC_ACTION_UPDATE_CONFLICT = 7; // 同步冲突 + public static final int SYNC_ACTION_ERROR = 8; // 同步错误 + + // 基本属性 + private String mGid; // Google Tasks 全局唯一标识符 + private String mName; // 节点名称 + private long mLastModified; // 最后修改时间戳 + private boolean mDeleted; // 是否已删除标记 + + /** + * 构造函数,初始化节点的默认值 + */ public Node() { mGid = null; mName = ""; @@ -54,18 +52,49 @@ public abstract class Node { mDeleted = false; } + // ------------------------ 抽象方法(由子类实现) ------------------------ + + /** + * 获取创建操作的JSON表示 + * @param actionId 操作ID + * @return 包含创建操作的JSON对象 + */ public abstract JSONObject getCreateAction(int actionId); + /** + * 获取更新操作的JSON表示 + * @param actionId 操作ID + * @return 包含更新操作的JSON对象 + */ public abstract JSONObject getUpdateAction(int actionId); + /** + * 从远程JSON数据设置节点内容 + * @param js 包含远程数据的JSON对象 + */ public abstract void setContentByRemoteJSON(JSONObject js); + /** + * 从本地JSON数据设置节点内容 + * @param js 包含本地数据的JSON对象 + */ public abstract void setContentByLocalJSON(JSONObject js); + /** + * 获取节点内容的本地JSON表示 + * @return 包含节点内容的JSON对象 + */ public abstract JSONObject getLocalJSONFromContent(); + /** + * 根据本地数据库游标确定同步操作类型 + * @param c 数据库游标 + * @return 同步操作类型(使用上面定义的常量) + */ public abstract int getSyncAction(Cursor c); + // ------------------------ 公共访问方法 ------------------------ + public void setGid(String gid) { this.mGid = gid; } @@ -97,5 +126,4 @@ public abstract class Node { public boolean getDeleted() { return this.mDeleted; } - -} +} \ No newline at end of file