package com.mcxiaoke.minicat.dao.model; import android.content.ContentValues; import android.database.Cursor; import android.net.Uri; import android.os.Parcel; import android.os.Parcelable; import android.provider.BaseColumns; import com.mcxiaoke.minicat.controller.DataController; /** * Project: fanfouapp * User: mcxiaoke * Date: 13-5-28 * Time: 上午10:16 */ public class StatusUpdateInfo implements Model { public static final String TAG = StatusUpdateInfo.class.getSimpleName(); public static final int TYPE_NONE = 0; public static final int TYPE_REPLY = 1; public static final int TYPE_REPOST = 2; public static final Parcelable.Creator<StatusUpdateInfo> CREATOR = new Creator<StatusUpdateInfo>() { @Override public StatusUpdateInfo createFromParcel(Parcel source) { return new StatusUpdateInfo(source); } @Override public StatusUpdateInfo[] newArray(int size) { return new StatusUpdateInfo[size]; } }; public int id; public int type; public String userId; public String text; public String location; public String reply; public String repost; public String fileName; public StatusUpdateInfo() { } public StatusUpdateInfo(Parcel in) { this.id = in.readInt(); this.type = in.readInt(); this.userId = in.readString(); this.text = in.readString(); this.location = in.readString(); this.reply = in.readString(); this.repost = in.readString(); this.fileName = in.readString(); } public static StatusUpdateInfo from(Cursor cursor) { if (cursor == null) { return null; } StatusUpdateInfo info = new StatusUpdateInfo(); info.id = DataController.parseInt(cursor, BaseColumns._ID); info.type = DataController.parseInt(cursor, StatusUpdateInfoColumns.TYPE); info.userId = DataController.parseString(cursor, StatusUpdateInfoColumns.USER_ID); info.text = DataController.parseString(cursor, StatusUpdateInfoColumns.TEXT); info.location = DataController.parseString(cursor, StatusUpdateInfoColumns.LOCATION); info.reply = DataController.parseString(cursor, StatusUpdateInfoColumns.REPLY); info.repost = DataController.parseString(cursor, StatusUpdateInfoColumns.REPOST); info.fileName = DataController.parseString(cursor, StatusUpdateInfoColumns.FILE); return info; } @Override public ContentValues values() { ContentValues cv = new ContentValues(); cv.put(StatusUpdateInfoColumns.TYPE, type); cv.put(StatusUpdateInfoColumns.USER_ID, userId); cv.put(StatusUpdateInfoColumns.TEXT, text); cv.put(StatusUpdateInfoColumns.LOCATION, location); cv.put(StatusUpdateInfoColumns.REPLY, reply); cv.put(StatusUpdateInfoColumns.REPOST, repost); cv.put(StatusUpdateInfoColumns.FILE, fileName); return cv; } @Override public Uri getContentUri() { return StatusUpdateInfoColumns.CONTENT_URI; } @Override public String getTable() { return StatusUpdateInfoColumns.TABLE_NAME; } @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeInt(this.id); dest.writeInt(this.type); dest.writeString(this.userId); dest.writeString(this.text); dest.writeString(this.location); dest.writeString(this.reply); dest.writeString(this.repost); dest.writeString(this.fileName); } @Override public String toString() { final StringBuilder sb = new StringBuilder("StatusUpdateInfo{"); sb.append("fileName='").append(fileName).append('\''); sb.append(", type=").append(type); sb.append(", userId='").append(userId).append('\''); sb.append(", text='").append(text).append('\''); sb.append(", location='").append(location).append('\''); sb.append(", reply='").append(reply).append('\''); sb.append(", repost='").append(repost).append('\''); sb.append('}'); return sb.toString(); } }