package de.learny.domain;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Lob;
import javax.persistence.ManyToOne;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonView;
import de.learny.JsonView.View;
@Entity
public class Answer {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@JsonView(View.Summary.class)
private long id;
@JsonView(View.Summary.class)
private String answer;
private boolean correct;
@JsonView(View.Summary.class)
private int answerCount;
@JsonView(View.Summary.class)
private int errorCount;
@ManyToOne
private Question question;
@Lob
private String explanation;
public Answer(String answer, Question question, boolean correct){
this.answer = answer;
this.question = question;
this.correct = correct;
}
public Answer(String answer, Question question, boolean correct, String explanation){
this.answer = answer;
this.question = question;
this.correct = correct;
this.explanation = explanation;
}
public Answer(){
}
public String getAnswer() {
return answer;
}
public void setAnswer(String answer) {
this.answer = answer;
}
@JsonIgnore
public Question getQuestion() {
return question;
}
public void setQuestion(Question question) {
this.question = question;
}
public long getId() {
return id;
}
//@JsonIgnore
public boolean isCorrect() {
return correct;
}
@JsonProperty
public void setCorrect(boolean correct) {
this.correct = correct;
}
public int getAnswerCount() {
return answerCount;
}
public int getErrorCount() {
return errorCount;
}
public void addToAnswerCount() {
answerCount++;
}
public void addToErrorCount() {
errorCount++;
}
public String getExplanation() {
return explanation;
}
public void setExplanation(String explanation) {
this.explanation = explanation;
}
}