package com.lgq.rssreader.entity;
import java.io.Serializable;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Date;
import android.os.Parcel;
import android.os.Parcelable;
import android.text.ParcelableSpan;
public class Channel implements Serializable,Comparable<Channel> {
/**
*
*/
private static final long serialVersionUID = 8836207717484134876L;
public static String TOKEN = "Channel";
public String Id;
public String Title;
public String SortId;
public Date LastUpdateTime;
public Date LastRefreshTime;
public int UnreadCount;
public boolean IsDirectory;
public String Folder;
public boolean FavIcon;
public ArrayList<Channel> Children;
public Object Tag;
public Channel(Channel obj)
{
Id = obj.Id;
Title = obj.Title;
SortId = obj.SortId;
LastUpdateTime = obj.LastUpdateTime;
LastRefreshTime = obj.LastRefreshTime;
UnreadCount = obj.UnreadCount;
IsDirectory = obj.IsDirectory;
Folder = obj.Folder;
FavIcon = obj.FavIcon;
Children = new ArrayList<Channel>();
for(Channel child : obj.Children)
{
Children.add(child);
}
Tag = new Object();
}
public Channel() {
// TODO Auto-generated constructor stub
}
//
// public Channel(Parcel source) {
// Id = source.readString();
// Title = source.readString();
// SortId = source.readString();
// LastUpdateTime = new Date(source.readLong());
// LastRefreshTime = new Date(source.readLong());
// UnreadCount = source.readInt();
// IsDirectory = source.readInt() == 1;
// Folder = source.readString();
// FavIcon = source.readInt() == 1;
// Children = (ArrayList<Channel>)source.readArrayList(Channel.class.getClassLoader());
// Object[] objs= ((Object[])source.readArray(Object.class.getClassLoader()));
// Tag = objs[0];
// }
@Override
public boolean equals(Object t){
if(t == null){
return false;
}
if(!(t instanceof Channel)){
return false;
}
Channel tmp = (Channel)t;
return Id.equals(tmp.Id);
}
@Override
public int hashCode(){
return Id.hashCode();
}
@Override
public int compareTo(Channel arg0) {
return UnreadCount - arg0.UnreadCount;
}
// @Override
// public int describeContents() {
// // TODO Auto-generated method stub
// return 0;
// }
//
// @Override
// public void writeToParcel(Parcel dest, int flags) {
// dest.writeString(Id);
// dest.writeString(Title);
// dest.writeString(SortId);
// dest.writeLong(LastUpdateTime.getTime());
// dest.writeLong(LastRefreshTime.getTime());
// dest.writeInt(UnreadCount);
// dest.writeInt(IsDirectory ? 1 : 0);
// dest.writeString(Folder);
// dest.writeInt(FavIcon ? 1: 0);
// dest.writeList(Children);
// dest.writeArray(new Object[]{Tag});
// }
//
// //实例化静态内部对象CREATOR实现接口Parcelable.Creator
// public static final Parcelable.Creator<Channel> CREATOR = new Creator<Channel>() {
//
// @Override
// public Channel[] newArray(int size) {
// return new Channel[size];
// }
//
// //将Parcel对象反序列化为ParcelableDate
// @Override
// public Channel createFromParcel(Parcel source) {
// return new Channel(source);
// }
// };
}