
/*
 * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net)
 *
 * 版权声明：本文件由MiCode开源社区开发，遵循Apache License, Version 2.0协议；
 * 您仅在遵守协议的前提下使用本文件，完整协议可通过以下链接获取：
 * http://www.apache.org/licenses/LICENSE-2.0
 * 注：未书面明确要求时，本软件按"原样"提供，不附带任何明示或暗示的保证。
 */

package net.micode.notes.tool;

/**
 * Google Tasks（GTask）相关的字符串常量工具类
 * 定义JSON数据字段名、特定标识字符串、文件夹名称等常量，用于统一管理GTask交互中的关键字符串
 */
public class GTaskStringUtils {

    // ---------------------- JSON 数据字段名常量 ----------------------
    /** JSON中表示"动作ID"的字段名（用于标识具体操作的唯一ID） */
    public final static String GTASK_JSON_ACTION_ID = "action_id";
    /** JSON中表示"动作列表"的字段名（存储多个操作的集合） */
    public final static String GTASK_JSON_ACTION_LIST = "action_list";
    /** JSON中表示"动作类型"的字段名（说明操作的类型，如创建、更新等） */
    public final static String GTASK_JSON_ACTION_TYPE = "action_type";
    /** 动作类型为"创建"的常量值 */
    public final static String GTASK_JSON_ACTION_TYPE_CREATE = "create";
    /** 动作类型为"获取所有"的常量值（用于请求全量数据） */
    public final static String GTASK_JSON_ACTION_TYPE_GETALL = "get_all";
    /** 动作类型为"移动"的常量值（用于移动实体操作） */
    public final static String GTASK_JSON_ACTION_TYPE_MOVE = "move";
    /** 动作类型为"更新"的常量值（用于修改实体信息） */
    public final static String GTASK_JSON_ACTION_TYPE_UPDATE = "update";
    /** JSON中表示"创建者ID"的字段名（标识操作的创建者） */
    public final static String GTASK_JSON_CREATOR_ID = "creator_id";
    /** JSON中表示"子实体"的字段名（用于关联子级数据，如子任务） */
    public final static String GTASK_JSON_CHILD_ENTITY = "child_entity";
    /** JSON中表示"客户端版本"的字段名（记录客户端版本信息，用于兼容性处理） */
    public final static String GTASK_JSON_CLIENT_VERSION = "client_version";
    /** JSON中表示"已完成"的字段名（通常用于任务状态，标记是否完成） */
    public final static String GTASK_JSON_COMPLETED = "completed";
    /** JSON中表示"当前列表ID"的字段名（标识当前操作所在的任务列表） */
    public final static String GTASK_JSON_CURRENT_LIST_ID = "current_list_id";
    /** JSON中表示"默认列表ID"的字段名（指向用户默认的任务列表） */
    public final static String GTASK_JSON_DEFAULT_LIST_ID = "default_list_id";
    /** JSON中表示"已删除"的字段名（标记实体是否为已删除状态） */
    public final static String GTASK_JSON_DELETED = "deleted";
    /** JSON中表示"目标列表"的字段名（用于移动操作中指定目标列表） */
    public final static String GTASK_JSON_DEST_LIST = "dest_list";
    /** JSON中表示"目标父级"的字段名（指向移动后实体的父级对象ID） */
    public final static String GTASK_JSON_DEST_PARENT = "dest_parent";
    /** JSON中表示"目标父级类型"的字段名（说明父级对象的类型，如组或任务） */
    public final static String GTASK_JSON_DEST_PARENT_TYPE = "dest_parent_type";
    /** JSON中表示"实体差异"的字段名（记录实体的变更信息，用于同步） */
    public final static String GTASK_JSON_ENTITY_DELTA = "entity_delta";
    /** JSON中表示"实体类型"的字段名（区分不同类型的实体，如任务、列表、组） */
    public final static String GTASK_JSON_ENTITY_TYPE = "entity_type";
    /** JSON中表示"获取已删除项"的字段名（用于请求获取已删除的实体数据） */
    public final static String GTASK_JSON_GET_DELETED = "get_deleted";
    /** JSON中表示"唯一ID"的字段名（标识实体的唯一标识符） */
    public final static String GTASK_JSON_ID = "id";
    /** JSON中表示"索引"的字段名（用于实体在列表中的排序位置） */
    public final static String GTASK_JSON_INDEX = "index";
    /** JSON中表示"最后修改时间"的字段名（记录实体最后一次修改的时间戳） */
    public final static String GTASK_JSON_LAST_MODIFIED = "last_modified";
    /** JSON中表示"最新同步点"的字段名（记录最近一次同步的标识，用于增量同步） */
    public final static String GTASK_JSON_LATEST_SYNC_POINT = "latest_sync_point";
    /** JSON中表示"列表ID"的字段名（标识任务列表的唯一ID） */
    public final static String GTASK_JSON_LIST_ID = "list_id";
    /** JSON中表示"列表集合"的字段名（存储多个任务列表的数据） */
    public final static String GTASK_JSON_LISTS = "lists";
    /** JSON中表示"名称"的字段名（用于实体的名称属性，如任务名、列表名） */
    public final static String GTASK_JSON_NAME = "name";
    /** JSON中表示"新ID"的字段名（用于创建操作中生成的新实体ID） */
    public final static String GTASK_JSON_NEW_ID = "new_id";
    /** JSON中表示"笔记内容"的字段名（存储任务或列表的备注信息） */
    public final static String GTASK_JSON_NOTES = "notes";
    /** JSON中表示"父级ID"的字段名（指向当前实体的父级对象ID，如任务所属的组） */
    public final static String GTASK_JSON_PARENT_ID = "parent_id";
    /** JSON中表示"前一个兄弟ID"的字段名（用于确定实体在同级中的排序顺序） */
    public final static String GTASK_JSON_PRIOR_SIBLING_ID = "prior_sibling_id";
    /** JSON中表示"结果"的字段名（存储操作返回的结果数据，如查询结果） */
    public final static String GTASK_JSON_RESULTS = "results";
    /** JSON中表示"源列表"的字段名（用于移动操作中指定原列表） */
    public final static String GTASK_JSON_SOURCE_LIST = "source_list";
    /** JSON中表示"任务集合"的字段名（存储多个任务的数据） */
    public final static String GTASK_JSON_TASKS = "tasks";
    /** JSON中表示"类型"的字段名（用于区分实体的类别，如组或任务） */
    public final static String GTASK_JSON_TYPE = "type";
    /** 类型为"组"的常量值（标识组类型实体，可包含子任务） */
    public final static String GTASK_JSON_TYPE_GROUP = "GROUP";
    /** 类型为"任务"的常量值（标识具体的任务实体） */
    public final static String GTASK_JSON_TYPE_TASK = "TASK";
    /** JSON中表示"用户"的字段名（存储用户相关信息，如用户ID） */
    public final static String GTASK_JSON_USER = "user";

    // ---------------------- 文件夹相关常量 ----------------------
    /** MIUI笔记文件夹的前缀常量（用于标识MIUI笔记特有的文件夹，如"[MIUI_Notes]"） */
    public final static String MIUI_FOLDER_PREFFIX = "[MIUI_Notes]";
    /** 默认文件夹名称常量（GTask同步时的默认列表名称，如"Default"） */
    public final static String FOLDER_DEFAULT = "Default";
    /** 通话记录文件夹名称常量（用于存储通话类型笔记的文件夹，如"Call_Note"） */
    public final static String FOLDER_CALL_NOTE = "Call_Note";
    /** 元数据文件夹名称常量（用于存储同步元信息的特殊文件夹，如"METADATA"） */
    public final static String FOLDER_META = "METADATA";

    // ---------------------- 元数据头部常量 ----------------------
    /** 元数据头部中"GTask ID"的字段名（存储与MIUI笔记关联的GTask唯一ID） */
    public final static String META_HEAD_GTASK_ID = "meta_gid";
    /** 元数据头部中"笔记"的字段名（存储元数据相关的备注信息） */
    public final static String META_HEAD_NOTE = "meta_note";
    /** 元数据头部中"数据"的字段名（存储元数据的具体内容，如同步配置） */
    public final static String META_HEAD_DATA = "meta_data";
    /** 元数据笔记的名称常量（标识该笔记为元信息，提示用户不要修改或删除，如"[META INFO] DON'T UPDATE AND DELETE"） */
    public final static String META_NOTE_NAME = "[META INFO] DON'T UPDATE AND DELETE";
}