/* * Copyright (c) 2010 - 2011, The MiCode Open Source Community (www.micode.net) * * 遵循 Apache 许可证 2.0 版(“许可证”); * 除非遵守许可证,否则不得使用此文件。 * 你可以在以下网址获取许可证副本: * * http://www.apache.org/licenses/LICENSE-2.0 * * 除非适用法律要求或书面同意, * 根据许可证分发的软件按“原样”分发, * 不附带任何明示或暗示的保证或条件。 * 请参阅许可证,了解具体的权限和限制。 */ package net.micode.notes.gtask.data; import android.database.Cursor; import org.json.JSONObject; // 定义一个抽象类 Node,作为一个基础类,可能用于表示与 GTask 相关的数据节点 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; // 存储 GTask ID 的成员变量 private String mGid; // 存储名称的成员变量 private String mName; // 存储最后修改时间的成员变量 private long mLastModified; // 存储是否删除标志的成员变量 private boolean mDeleted; // 构造函数,初始化成员变量的默认值 public Node() { mGid = null; mName = ""; mLastModified = 0; mDeleted = false; } // 抽象方法,根据给定的操作 ID 获取创建操作的 JSONObject public abstract JSONObject getCreateAction(int actionId); // 抽象方法,根据给定的操作 ID 获取更新操作的 JSONObject public abstract JSONObject getUpdateAction(int actionId); // 抽象方法,根据远程 JSON 数据设置内容 public abstract void setContentByRemoteJSON(JSONObject js); // 抽象方法,根据本地 JSON 数据设置内容 public abstract void setContentByLocalJSON(JSONObject js); // 抽象方法,从内容中获取本地 JSON 数据 public abstract JSONObject getLocalJSONFromContent(); // 抽象方法,根据 Cursor 获取同步操作 public abstract int getSyncAction(Cursor c); // 设置 GTask ID 的方法 public void setGid(String gid) { this.mGid = gid; } // 设置名称的方法 public void setName(String name) { this.mName = name; } // 设置最后修改时间的方法 public void setLastModified(long lastModified) { this.mLastModified = lastModified; } // 设置是否删除标志的方法 public void setDeleted(boolean deleted) { this.mDeleted = deleted; } // 获取 GTask ID 的方法 public String getGid() { return this.mGid; } // 获取名称的方法 public String getName() { return this.mName; } // 获取最后修改时间的方法 public long getLastModified() { return this.mLastModified; } // 获取是否删除标志的方法 public boolean getDeleted() { return this.mDeleted; } }