package com.likebamboo.osa.android.entity;
import android.os.Parcel;
import android.os.Parcelable;
import android.text.TextUtils;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.orm.SugarRecord;
import java.util.ArrayList;
import java.util.List;
/**
* Created by likebamboo on 2015/5/19.
*/
public class TagList extends BaseRsp {
@JsonProperty("result")
private ArrayList<Tag> mList = null;
public ArrayList<Tag> getList() {
return mList;
}
public void setList(ArrayList<Tag> list) {
this.mList = list;
}
/**
* 标签
*
* @author likebamboo
*/
// 忽略未知属性
@JsonIgnoreProperties(ignoreUnknown = true)
public static class Tag extends SugarRecord<Tag> implements Parcelable {
/**
* id
*/
@JsonProperty("id")
private long _id = 0L;
/**
* 标题
*/
private String name = "";
/**
* 摘要
*/
private String desc = "";
/**
* 添加时间
*/
@JsonIgnoreProperties
private long addTime = 0;
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public long getTagId() {
return _id;
}
public void setTagId(long id) {
this._id = id;
}
public long getAddTime() {
return addTime;
}
public void setAddTime(long addTime) {
this.addTime = addTime;
}
/**
* 删除标签
*
* @param name
*/
public static void delete(String name) {
if (TextUtils.isEmpty(name)) {
return;
}
deleteAll(Tag.class, " name like ? ", name);
}
/**
* 查找标签
*
* @param name
*/
public static Tag findTagByName(String name) {
if (TextUtils.isEmpty(name)) {
return null;
}
List<Tag> tags = find(Tag.class, " name like ? ", name);
if (tags == null || tags.isEmpty()) {
return null;
}
for (Tag t : tags) {
if (t != null && name.equals(t.getName())) {
return t;
}
}
return null;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeLong(this.id);
dest.writeString(this.name);
dest.writeString(this.desc);
dest.writeLong(this.addTime);
}
public Tag() {
}
private Tag(Parcel in) {
this.id = in.readLong();
this.name = in.readString();
this.desc = in.readString();
this.addTime = in.readLong();
}
public static final Parcelable.Creator<Tag> CREATOR = new Parcelable.Creator<Tag>() {
public Tag createFromParcel(Parcel source) {
return new Tag(source);
}
public Tag[] newArray(int size) {
return new Tag[size];
}
};
}
}