KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > jforum > entities > Poll


1 /*
2  * Copyright (c) Rafael Steil
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms,
6  * with or without modification, are permitted provided
7  * that the following conditions are met:
8  *
9  * 1) Redistributions of source code must retain the above
10  * copyright notice, this list of conditions and the
11  * following disclaimer.
12  * 2) Redistributions in binary form must reproduce the
13  * above copyright notice, this list of conditions and
14  * the following disclaimer in the documentation and/or
15  * other materials provided with the distribution.
16  * 3) Neither the name of "Rafael Steil" nor
17  * the names of its contributors may be used to endorse
18  * or promote products derived from this software without
19  * specific prior written permission.
20  *
21  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
22  * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
23  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
24  * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
25  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR
26  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
27  * THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
28  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES
30  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
31  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
32  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
33  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
34  * IN CONTRACT, STRICT LIABILITY, OR TORT
35  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
36  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
37  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
38  *
39  * This file creation date: 21/05/2004 - 14:22:16
40  * The JForum Project
41  * http://www.jforum.net
42  */

43 package net.jforum.entities;
44
45 import java.io.Serializable JavaDoc;
46 import java.util.ArrayList JavaDoc;
47 import java.util.Calendar JavaDoc;
48 import java.util.Date JavaDoc;
49 import java.util.Iterator JavaDoc;
50 import java.util.List JavaDoc;
51
52
53 /**
54  * @author David Almilli
55  * @version $Id: Poll.java,v 1.3 2005/12/02 23:49:00 rafaelsteil Exp $
56  */

57 public class Poll implements Serializable JavaDoc {
58     private int id;
59     private int topicId;
60     private int length;
61     private String JavaDoc label;
62     private Date JavaDoc startTime;
63     private transient PollChanges pollChanges;
64     private List JavaDoc options = new ArrayList JavaDoc();
65
66     public int getId() {
67         return id;
68     }
69     public void setId(int id) {
70         this.id = id;
71     }
72     public int getTopicId() {
73         return topicId;
74     }
75     public void setTopicId(int topicId) {
76         this.topicId = topicId;
77     }
78     public int getLength() {
79         return length;
80     }
81     public void setLength(int length) {
82         this.length = length;
83     }
84     public String JavaDoc getLabel() {
85         return label;
86     }
87     public void setLabel(String JavaDoc label) {
88         this.label = label;
89     }
90     public Date JavaDoc getStartTime() {
91         return startTime;
92     }
93     public void setStartTime(Date JavaDoc startTime) {
94         this.startTime = startTime;
95     }
96     public void addOption(PollOption option) {
97         options.add(option);
98         option.setPoll(this);
99     }
100     public void removeOption(PollOption option) {
101         if (options.remove(option)) {
102             option.setPoll(null);
103         }
104     }
105     public List JavaDoc getOptions() {
106         return options;
107     }
108     
109     public void setChanges(PollChanges changes) {
110         this.pollChanges = changes;
111     }
112     
113     public PollChanges getChanges() {
114         return this.pollChanges;
115     }
116     
117     public int getTotalVotes() {
118         int votes = 0;
119         Iterator JavaDoc iter = options.iterator();
120         while (iter.hasNext()) {
121             PollOption option = (PollOption)iter.next();
122             votes += option.getVoteCount();
123         }
124         return votes;
125     }
126     
127     public boolean isOpen() {
128         if (length == 0) {
129             return true;
130         }
131         Calendar JavaDoc endTime = Calendar.getInstance();
132         endTime.setTime(startTime);
133         endTime.add(Calendar.DAY_OF_YEAR, length);
134         return System.currentTimeMillis() < endTime.getTimeInMillis();
135     }
136 }
137
Popular Tags