A mobile app for thmmy.gr
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

113 lines
2.8 KiB

package gr.thmmy.mthmmy.model;
import java.text.DecimalFormat;
public class Poll extends TopicItem {
public static final int TYPE_POLL = 3;
private final String question;
private Entry[] entries;
private int availableVoteCount, selectedEntryIndex = -1;
private String pollFormUrl, sc, removeVoteUrl, showVoteResultsUrl, showOptionsUrl;
public Poll(String question, Entry[] entries, int availableVoteCount, String pollFormUrl, String sc,
String removeVoteUrl, String showVoteResultsUrl, String showOptionsUrl, int selectedEntryIndex) {
this.question = question;
this.entries = entries;
this.availableVoteCount = availableVoteCount;
this.pollFormUrl = pollFormUrl;
this.sc = sc;
this.removeVoteUrl = removeVoteUrl;
this.showVoteResultsUrl = showVoteResultsUrl;
this.showOptionsUrl = showOptionsUrl;
this.selectedEntryIndex = selectedEntryIndex;
}
private int totalVotes() {
int sum = 0;
for (Entry entry : entries) {
sum += entry.votes;
}
return sum;
}
public String getVotePercentage(int index) {
DecimalFormat format = new DecimalFormat(".#");
double percentage = 100 * ((double) entries[index].votes / (double) totalVotes());
return format.format(percentage);
}
public String getQuestion() {
return question;
}
public Entry[] getEntries() {
return entries;
}
public int getAvailableVoteCount() {
return availableVoteCount;
}
public String getPollFormUrl() {
return pollFormUrl;
}
public String getSc() {
return sc;
}
public String getRemoveVoteUrl() {
return removeVoteUrl;
}
public String getShowVoteResultsUrl() {
return showVoteResultsUrl;
}
public String getShowOptionsUrl() {
return showOptionsUrl;
}
public int getSelectedEntryIndex() {
return selectedEntryIndex;
}
public static class Entry {
private final String entryName;
private int votes;
public Entry(String entryName, int votes) {
this.entryName = entryName;
this.votes = votes;
}
/**
* Constructor for entry with unknown number of votes
*
* @param entryName
* The name of the entry
*/
public Entry(String entryName) {
this.entryName = entryName;
votes = -1;
}
public String getEntryName() {
return entryName;
}
public int getVotes() {
return votes;
}
public void setVotes(int votes) {
this.votes = votes;
}
@Override
public String toString() {
return "Vote label:" + entryName + ", num votes:" + votes;
}
}
}