KickJava   Java API By Example, From Geeks To Geeks.

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


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 - 15:17:46
40  * The JForum Project
41  * http://www.jforum.net
42  */

43 package net.jforum.entities;
44
45 import java.io.Serializable JavaDoc;
46
47 /**
48  * @author David Almilli
49  * @version $Id: PollOption.java,v 1.3 2005/12/02 23:49:00 rafaelsteil Exp $
50  */

51 public class PollOption implements Serializable JavaDoc {
52     private int id;
53     private int pollId;
54     private String JavaDoc text;
55     private int voteCount;
56
57     private Poll poll;
58     
59     public PollOption() {}
60     
61     public PollOption(int id, String JavaDoc text, int voteCount) {
62         this.id = id;
63         this.text = text;
64         this.voteCount = voteCount;
65     }
66     
67     public int getId() {
68         return id;
69     }
70     public void setId(int id) {
71         this.id = id;
72     }
73     public int getPollId() {
74         return pollId;
75     }
76     public void setPollId(int pollId) {
77         this.pollId = pollId;
78     }
79     public String JavaDoc getText() {
80         return text;
81     }
82     public void setText(String JavaDoc text) {
83         this.text = text;
84     }
85     public int getVoteCount() {
86         return voteCount;
87     }
88     public void setVoteCount(int voteCount) {
89         this.voteCount = voteCount;
90     }
91     
92     public int getVotePercentage() {
93         int percent = 0;
94         if (poll != null) {
95             int totalCount = poll.getTotalVotes();
96             percent = Math.round(100f*voteCount/totalCount);
97         }
98         return percent;
99     }
100     
101     public Poll getPoll() {
102         return poll;
103     }
104     
105     protected void setPoll(Poll poll) {
106         this.poll = poll;
107     }
108     
109     /**
110      * @see java.lang.Object#toString()
111      */

112     public String JavaDoc toString()
113     {
114         return new StringBuffer JavaDoc(128)
115             .append('[')
116             .append(this.id)
117             .append(", ")
118             .append(this.text)
119             .append(", ")
120             .append(this.voteCount)
121             .append(']')
122             .toString();
123     }
124     
125     /**
126      * @see java.lang.Object#equals(java.lang.Object)
127      */

128     public boolean equals(Object JavaDoc o)
129     {
130         if (!(o instanceof PollOption)) {
131             return false;
132         }
133         
134         PollOption po = (PollOption)o;
135         return po.getId() == this.id
136             && po.getText().equals(this.text)
137             && po.getVoteCount() == this.voteCount;
138     }
139
140     /**
141      * @see java.lang.Object#hashCode()
142      */

143     public int hashCode()
144     {
145         int result = 17;
146         
147         result *= 37 + this.id;
148         result *= 37 + this.text.hashCode();
149         result *= 37 + this.voteCount;
150         
151         return result;
152     }
153 }
154
Popular Tags