package com.xda.one.api.model.response;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.xda.one.api.model.interfaces.Quote;
import com.xda.one.api.model.interfaces.UnifiedThread;
import android.os.Parcel;
@JsonIgnoreProperties(ignoreUnknown = true)
public class ResponseQuote implements Quote {
public static final Creator<ResponseQuote> CREATOR = new Creator<ResponseQuote>() {
@Override
public ResponseQuote createFromParcel(Parcel source) {
return new ResponseQuote(source);
}
@Override
public ResponseQuote[] newArray(int size) {
return new ResponseQuote[size];
}
};
private final ResponseAvatar mResponseAvatar;
@JsonProperty("pagetext")
private String mPageText;
@JsonProperty("dateline")
private int mDateLine;
@JsonProperty("postid")
private String mPostId;
@JsonProperty("type")
private String mType;
@JsonProperty("userid")
private String mUserId;
@JsonProperty("username")
private String mUserName;
@JsonProperty("quoteduserid")
private String mQuotedUserId;
@JsonProperty("quotedusername")
private String mQuotedUserName;
@JsonProperty("quotedusergroupid")
private int mQuotedUserGroupId;
@JsonProperty("quotedinfractiongroupid")
private int mQuotedInfractionGroupId;
@JsonProperty("thread")
private ResponseUnifiedThread mThread;
public ResponseQuote() {
mResponseAvatar = new ResponseAvatar();
}
public ResponseQuote(final Parcel in) {
mResponseAvatar = new ResponseAvatar(in);
mPageText = in.readString();
mDateLine = in.readInt();
mPostId = in.readString();
mType = in.readString();
mUserId = in.readString();
mUserName = in.readString();
mQuotedUserId = in.readString();
mQuotedUserName = in.readString();
mQuotedUserGroupId = in.readInt();
mQuotedInfractionGroupId = in.readInt();
mThread = in.readParcelable(ResponseUnifiedThread.class.getClassLoader());
}
@Override
public String getPageText() {
return mPageText;
}
@Override
public int getDateLine() {
return mDateLine;
}
@Override
public String getPostId() {
return mPostId;
}
@Override
public String getType() {
return mType;
}
@Override
public String getUserId() {
return mUserId;
}
@Override
public String getUserName() {
return mUserName;
}
@Override
public String getQuotedUserId() {
return mQuotedUserId;
}
@Override
public String getQuotedUserName() {
return mQuotedUserName;
}
@Override
public int getQuotedUserGroupId() {
return mQuotedUserGroupId;
}
@Override
public int getQuotedInfractionGroupId() {
return mQuotedInfractionGroupId;
}
@Override
public UnifiedThread getThread() {
return mThread;
}
@Override
public String getAvatarUrl() {
return mResponseAvatar.getAvatarUrl();
}
@JsonProperty("avatar_url")
public void setAvatarUrl(final String avatarUrl) {
mResponseAvatar.setAvatarUrl(avatarUrl);
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(final Parcel dest, final int flags) {
mResponseAvatar.writeToParcel(dest, flags);
dest.writeString(mPageText);
dest.writeInt(mDateLine);
dest.writeString(mPostId);
dest.writeString(mType);
dest.writeString(mUserId);
dest.writeString(mUserName);
dest.writeString(mQuotedUserId);
dest.writeString(mQuotedUserName);
dest.writeInt(mQuotedUserGroupId);
dest.writeInt(mQuotedInfractionGroupId);
dest.writeParcelable(mThread, 0);
}
}