You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
yss__miui__notes/data_gtask 包代码注释_邹国涛/MetaData.java

95 lines
3.5 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/*
* Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package net.micode.notes.gtask.data;
import android.database.Cursor;
import android.util.Log;
import net.micode.notes.tool.GTaskStringUtils;
import org.json.JSONException;
import org.json.JSONObject;
public class MetaData extends Task {
private final static String TAG = MetaData.class.getSimpleName();
//功能得到类的简写名称SimpleName存入字符串TAG中
//实现调用getSimpleName()函数来得到类简写名称结果
private String mRelatedGid = null;
//功能:设置数据,即生成一个初始的,也叫元数据库
//实现调用JSONObject库函数put()Task类中的setNotes ()和setName ()函数
public void setMeta(String gid, JSONObject metaInfo) {
//对函数模块进行注释
try {
metaInfo.put(GTaskStringUtils.META_HEAD_GTASK_ID, gid);
//将这一对键值放入jsonobject的对象metaInfo中
} catch (JSONException e) {
Log.e(TAG, "failed to put related gid");
//输出错误信息
}
setNotes(metaInfo.toString());
setName(GTaskStringUtils.META_NOTE_NAME);
}
//功能获取相关联的Gid
public String getRelatedGid() {
return mRelatedGid;
}
@Override
//功能:判断当前数据是否为空,若为空则返回“真”,即就是值得保存的
public boolean isWorthSaving() {
return getNotes() != null;
}
@Override
//功能使用远程json数据对象设置元数据内容
//实现调用父类Task中的setContentByRemoteJSON ()函数
public void setContentByRemoteJSON(JSONObject js) {
super.setContentByRemoteJSON(js);
if (getNotes() != null) {
try {
JSONObject metaInfo = new JSONObject(getNotes().trim());
mRelatedGid = metaInfo.getString(GTaskStringUtils.META_HEAD_GTASK_ID);
} catch (JSONException e) {
Log.w(TAG, "failed to get related gid");
//输出警告信息
mRelatedGid = null;
}
}
}
@Override
//功能使用本地json数据对象设置元数据内容一般不用到若用到的话则throw Error即则抛出异常
public void setContentByLocalJSON(JSONObject js) {
// this function should not be called
throw new IllegalAccessError("MetaData:setContentByLocalJSON should not be called");
} //传递非法参数异常
@Override
public JSONObject getLocalJSONFromContent() {
throw new IllegalAccessError("MetaData:getLocalJSONFromContent should not be called");
}
@Override
//功能获取同步动作状态也是一般用不到如果用到则throw抛出异常
public int getSyncAction(Cursor c) {
throw new IllegalAccessError("MetaData:getSyncAction should not be called");
} //传递非法参数异常
}