/*
Copyright 2014 Prasanna Thirumalai
This file is part of StackX.
StackX is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
StackX is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with StackX. If not, see <http://www.gnu.org/licenses/>.
*/
package com.prasanna.android.stacknetwork.model;
import java.io.Serializable;
import java.util.ArrayList;
public class Question extends VotablePost implements Serializable {
private static final long serialVersionUID = -4722553914475051236L;
public static Question copyMetaDeta(Question that) {
if (that == null) return null;
Question question = new Question();
question.id = that.id;
question.title = that.title;
question.score = that.score;
question.creationDate = that.creationDate;
question.body = that.body;
question.link = that.link;
question.viewCount = that.viewCount;
question.answerCount = that.answerCount;
question.relativeLink = that.relativeLink;
question.answered = that.answered;
question.upvoted = that.upvoted;
question.downvoted = that.downvoted;
question.favorited = that.favorited;
question.hasAcceptedAnswer = that.hasAcceptedAnswer;
question.bountyAmount = that.bountyAmount;
if (that.tags != null) {
question.tags = new String[that.tags.length];
for (int i = 0; i < that.tags.length; i++)
question.tags[i] = that.tags[i];
}
question.owner = User.copyShallowUser(that.owner);
return question;
}
public int viewCount;
public int answerCount;
public int votes;
public String[] tags;
public String relativeLink;
public ArrayList<Answer> answers;
public ArrayList<Comment> comments;
public boolean answered = false;
public boolean hasAcceptedAnswer = false;
public boolean favorited = false;
public final PostType postType = PostType.QUESTION;
public int bountyAmount = 0;
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + (int) (id ^ (id >>> 32));
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj) return true;
if (obj == null) return false;
if (getClass() != obj.getClass()) return false;
Answer other = (Answer) obj;
if (id != other.id) return false;
return true;
}
}