package net.lr.tutorial.karaf.vote.model;
import java.util.Date;
import javax.xml.bind.annotation.XmlType;
@XmlType
public class Vote {
String topic;
int vote;
String fromUser;
Date voteDateTime;
public Vote() {
}
public Vote(String topic, int vote) {
this(topic, vote, "Anonymous", new Date());
}
public Vote(String topic, int vote, String fromUser, Date voteDateTime) {
super();
this.topic = topic;
setVote(vote);
this.fromUser = fromUser;
this.voteDateTime = voteDateTime;
}
public int getVote() {
return vote;
}
public String getFromUser() {
return fromUser;
}
public Date getVoteDateTime() {
return voteDateTime;
}
public String getTopic() {
return topic;
}
public void setTopic(String topic) {
this.topic = topic;
}
public void setVote(int vote) {
if (!isValid(vote)) {
throw new IllegalArgumentException("Vote must be a number between 1 and 6");
}
this.vote = vote;
}
public void setFromUser(String fromUser) {
this.fromUser = fromUser;
}
public void setVoteDateTime(Date voteDateTime) {
this.voteDateTime = voteDateTime;
}
public static boolean isValid(int vote) {
return vote >= 1 && vote <= 6;
}
}