/*
* Copyright 2016 Freelander
* <p>
* 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
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* 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 com.jun.elephant.entity.topic;
import android.os.Parcel;
import android.os.Parcelable;
import com.google.gson.annotations.SerializedName;
/**
* Created by Jun on 2016/5/3.
*/
public class TopicEntity implements Parcelable {
private int id;
private String title;
@SerializedName("is_excellent")
private boolean isExcellent;
@SerializedName("reply_count")
private int replyCount;
@SerializedName("updated_at")
private String updatedAt;
@SerializedName("created_at")
private String createdAt;
@SerializedName("vote_count")
private int voteCount;
private boolean favorite;
private boolean attention;
@SerializedName("vote_down")
private boolean voteDown;
@SerializedName("vote_up")
private boolean voteUp;
private LinksBean links;
private UserBean user;
@SerializedName("last_reply_user")
private LastReplyUser lastReplyUser;
private Category category;
public Category getCategory() {
return category;
}
public void setCategory(Category category) {
this.category = category;
}
public LastReplyUser getLastReplyUser() {
return lastReplyUser;
}
public void setLastReplyUser(LastReplyUser lastReplyUser) {
this.lastReplyUser = lastReplyUser;
}
public UserBean getUser() {
return user;
}
public void setUser(UserBean user) {
this.user = user;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public boolean isIsExcellent() {
return isExcellent;
}
public void setIsExcellent(boolean isExcellent) {
this.isExcellent = isExcellent;
}
public int getReplyCount() {
return replyCount;
}
public void setReplyCount(int replyCount) {
this.replyCount = replyCount;
}
public String getUpdatedAt() {
return updatedAt;
}
public void setUpdatedAt(String updatedAt) {
this.updatedAt = updatedAt;
}
public String getCreatedAt() {
return createdAt;
}
public void setCreatedAt(String createdAt) {
this.createdAt = createdAt;
}
public int getVoteCount() {
return voteCount;
}
public void setVoteCount(int voteCount) {
this.voteCount = voteCount;
}
public LinksBean getLinks() {
return links;
}
public void setLinks(LinksBean links) {
this.links = links;
}
public boolean isFavorite() {
return favorite;
}
public void setFavorite(boolean favorite) {
this.favorite = favorite;
}
public boolean isAttention() {
return attention;
}
public void setAttention(boolean attention) {
this.attention = attention;
}
public boolean isVoteDown() {
return voteDown;
}
public void setVoteDown(boolean voteDown) {
this.voteDown = voteDown;
}
public boolean isVoteUp() {
return voteUp;
}
public void setVoteUp(boolean voteUp) {
this.voteUp = voteUp;
}
public static class LinksBean implements Parcelable {
@SerializedName("details_web_view")
private String detailsWebView;
@SerializedName("replies_web_view")
private String repliesWebView;
@SerializedName("web_url")
private String webUrl;
public String getDetailsWebView() {
return detailsWebView;
}
public void setDetailsWebView(String detailsWebView) {
this.detailsWebView = detailsWebView;
}
public String getRepliesWebView() {
return repliesWebView;
}
public void setRepliesWebView(String repliesWebView) {
this.repliesWebView = repliesWebView;
}
public String getWebUrl() {
return webUrl;
}
public void setWebUrl(String webUrl) {
this.webUrl = webUrl;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(this.detailsWebView);
dest.writeString(this.repliesWebView);
dest.writeString(this.webUrl);
}
public LinksBean() {
}
protected LinksBean(Parcel in) {
this.detailsWebView = in.readString();
this.repliesWebView = in.readString();
this.webUrl = in.readString();
}
public static final Parcelable.Creator<LinksBean> CREATOR = new Parcelable.Creator<LinksBean>() {
@Override
public LinksBean createFromParcel(Parcel source) {
return new LinksBean(source);
}
@Override
public LinksBean[] newArray(int size) {
return new LinksBean[size];
}
};
}
public static class UserBean implements Parcelable {
public DataEntity data;
public DataEntity getData() {
return data;
}
public void setData(DataEntity data) {
this.data = data;
}
public static class DataEntity implements Parcelable {
private String id;
private String name;
private String avatar;
private String introduction;
public String getIntroduction() {
return introduction;
}
public void setIntroduction(String introduction) {
this.introduction = introduction;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAvatar() {
return avatar;
}
public void setAvatar(String avatar) {
this.avatar = avatar;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(this.id);
dest.writeString(this.name);
dest.writeString(this.avatar);
dest.writeString(this.introduction);
}
public DataEntity() {
}
protected DataEntity(Parcel in) {
this.id = in.readString();
this.name = in.readString();
this.avatar = in.readString();
this.introduction = in.readString();
}
public static final Parcelable.Creator<DataEntity> CREATOR = new Parcelable.Creator<DataEntity>() {
@Override
public DataEntity createFromParcel(Parcel source) {
return new DataEntity(source);
}
@Override
public DataEntity[] newArray(int size) {
return new DataEntity[size];
}
};
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeParcelable(this.data, flags);
}
public UserBean() {
}
protected UserBean(Parcel in) {
this.data = in.readParcelable(DataEntity.class.getClassLoader());
}
public static final Parcelable.Creator<UserBean> CREATOR = new Parcelable.Creator<UserBean>() {
@Override
public UserBean createFromParcel(Parcel source) {
return new UserBean(source);
}
@Override
public UserBean[] newArray(int size) {
return new UserBean[size];
}
};
}
public static class LastReplyUser implements Parcelable {
private DataEntity data;
public DataEntity getData() {
return data;
}
public void setData(DataEntity data) {
this.data = data;
}
public static class DataEntity implements Parcelable {
private String id;
private String name;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(this.id);
dest.writeString(this.name);
}
public DataEntity() {
}
protected DataEntity(Parcel in) {
this.id = in.readString();
this.name = in.readString();
}
public static final Parcelable.Creator<DataEntity> CREATOR = new Parcelable.Creator<DataEntity>() {
@Override
public DataEntity createFromParcel(Parcel source) {
return new DataEntity(source);
}
@Override
public DataEntity[] newArray(int size) {
return new DataEntity[size];
}
};
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeParcelable(this.data, flags);
}
public LastReplyUser() {
}
protected LastReplyUser(Parcel in) {
this.data = in.readParcelable(DataEntity.class.getClassLoader());
}
public static final Parcelable.Creator<LastReplyUser> CREATOR = new Parcelable.Creator<LastReplyUser>() {
@Override
public LastReplyUser createFromParcel(Parcel source) {
return new LastReplyUser(source);
}
@Override
public LastReplyUser[] newArray(int size) {
return new LastReplyUser[size];
}
};
}
public static class Category implements Parcelable {
private CategoryEntity.Category data;
public CategoryEntity.Category getData() {
return data;
}
public void setData(CategoryEntity.Category data) {
this.data = data;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeParcelable(this.data, flags);
}
public Category() {
}
protected Category(Parcel in) {
this.data = in.readParcelable(CategoryEntity.Category.class.getClassLoader());
}
public static final Creator<Category> CREATOR = new Creator<Category>() {
@Override
public Category createFromParcel(Parcel source) {
return new Category(source);
}
@Override
public Category[] newArray(int size) {
return new Category[size];
}
};
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(this.id);
dest.writeString(this.title);
dest.writeByte(isExcellent ? (byte) 1 : (byte) 0);
dest.writeInt(this.replyCount);
dest.writeString(this.updatedAt);
dest.writeString(this.createdAt);
dest.writeInt(this.voteCount);
dest.writeParcelable(this.links, flags);
dest.writeParcelable(this.user, flags);
dest.writeParcelable(this.lastReplyUser, flags);
dest.writeParcelable(this.category, flags);
}
public TopicEntity() {
}
protected TopicEntity(Parcel in) {
this.id = in.readInt();
this.title = in.readString();
this.isExcellent = in.readByte() != 0;
this.replyCount = in.readInt();
this.updatedAt = in.readString();
this.createdAt = in.readString();
this.voteCount = in.readInt();
this.links = in.readParcelable(LinksBean.class.getClassLoader());
this.user = in.readParcelable(UserBean.class.getClassLoader());
this.lastReplyUser = in.readParcelable(LastReplyUser.class.getClassLoader());
this.category = in.readParcelable(Category.class.getClassLoader());
}
public static final Parcelable.Creator<TopicEntity> CREATOR = new Parcelable.Creator<TopicEntity>() {
@Override
public TopicEntity createFromParcel(Parcel source) {
return new TopicEntity(source);
}
@Override
public TopicEntity[] newArray(int size) {
return new TopicEntity[size];
}
};
}