001: /**********************************************************************************
002: * $URL: $
003: * $Id: $
004: ***********************************************************************************
005: *
006: * Copyright (c) 2006,2007 The Sakai Foundation.
007: *
008: * Licensed under the Educational Community License, Version 1.0 (the "License");
009: * you may not use this file except in compliance with the License.
010: * You may obtain a copy of the License at
011: *
012: * http://www.opensource.org/licenses/ecl1.php
013: *
014: * Unless required by applicable law or agreed to in writing, software
015: * distributed under the License is distributed on an "AS IS" BASIS,
016: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
017: * See the License for the specific language governing permissions and
018: * limitations under the License.
019: *
020: **********************************************************************************/package org.sakaiproject.poll.model;
021:
022: import java.util.Date;
023: import java.util.List;
024: import org.sakaiproject.entity.api.Entity;
025:
026: /**
027: * @author az
028: * This is the interface for our value object that holds a task
029: * It is a basic POJO with only getters and setters
030: */
031: public interface Poll extends java.io.Serializable, Entity {
032:
033: /**
034: * Get the id of the poll
035: * @return the polls ID
036: */
037: public Long getPollId();
038:
039: public void setPollId(Long id);
040:
041: public String getOwner();
042:
043: public void setOwner(String owner);
044:
045: public void setText(String text);
046:
047: public String getText();
048:
049: public String getSiteId();
050:
051: public void setSiteId(String siteId);
052:
053: public Date getCreationDate();
054:
055: public void setCreationDate(Date creationDate);
056:
057: public List getPollOptions();
058:
059: public void setOptions(List options);
060:
061: public void addOption(Option option);
062:
063: public void setVoteOpen(Date date);
064:
065: public Date getVoteOpen();
066:
067: public void setVoteClose(Date Date);
068:
069: public Date getVoteClose();
070:
071: /**
072: * Set when to diplay the results
073: *
074: * @param display
075: * String which can be:
076: * open - can be viewd at any time
077: * never - not diplayed
078: * afterVoting - after user has voted
079: * afterClosing - once the vote has closed
080: */
081: public void setDisplayResult(String display);
082:
083: public String getDisplayResult();
084:
085: public void setLimitVoting(boolean limit);
086:
087: public boolean getLimitVoting();
088:
089: public String getDetails();
090:
091: public void setDetails(String details);
092:
093: /**
094: * Get the minimum number of options that must be selected to vote
095: * @return
096: */
097: public void setMinOptions(int minVotes);
098:
099: public int getMinOptions();
100:
101: public void setMaxOptions(int minVotes);
102:
103: public int getMaxOptions();
104:
105: //need getters and setters to create votes
106:
107: public List getVotes();
108:
109: /**
110: * Set the votes list for this poll
111: * @param votes
112: */
113: public void setVotes(List votes);
114:
115: /**
116: * Attach a vote to the list of votes for this poll
117: * @param vote
118: */
119: public void addVote(Vote vote);
120: }
|