org.bolson.vote
Class NamedSTV

java.lang.Object
  extended by org.bolson.vote.NameVotingSystem
      extended by org.bolson.vote.NamedSTV

public class NamedSTV
extends NameVotingSystem


Nested Class Summary
protected static class NamedSTV.TallyState
           
protected static class NamedSTV.WeightedVote
           
 
Nested classes/interfaces inherited from class org.bolson.vote.NameVotingSystem
NameVotingSystem.NameVote, NameVotingSystem.ReverseComparator
 
Constructor Summary
NamedSTV()
           
 
Method Summary
 NameVotingSystem.NameVote[] getWinners()
           
 java.lang.StringBuffer htmlSummary(java.lang.StringBuffer sb)
          Get HTML summary of voting system state.
 int init(java.lang.String[] argv)
          Set options for voting system.
static void main(java.lang.String[] argv)
           
 java.lang.String name()
           
static double quota(int style, double votes, int seats)
           
protected  void recount(NamedSTV.TallyState[] tv, int butNot)
           
 void voteRating(NameVotingSystem.NameVote[] vote)
          Vote a set of ratings.
 
Methods inherited from class org.bolson.vote.NameVotingSystem
defaultMain, denibble, depercentHexify, fromUrlEncoded, getDebug, getImplNames, getIpmlForName, htmlExplain, htmlExplain, htmlSummary, nameEqStrToVoteArray, nameEqStrToVoteArray, percentHexify, readVotes, registerImpl, resultsHTMLDisplay, sort, urlEncode, voteNameEqStr, voteOrderSpec, voteRating, voteSpecToNameVoteArray, winnerSummaryHTMLTable
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NamedSTV

public NamedSTV()
Method Detail

init

public int init(java.lang.String[] argv)
Description copied from class: NameVotingSystem
Set options for voting system. Default implementation sets debug to true if it sees "debug". Skip pass null entries, which may have been yanked by a subclass. Unless there's an error, last line should be "return super.init( argv );" Multi-seat capable implementations should accept an option pair ("seats", <int>) to set the number of seats.

Overrides:
init in class NameVotingSystem
Parameters:
argv - array of options, just like main()
Returns:
0 on success

voteRating

public void voteRating(NameVotingSystem.NameVote[] vote)
Description copied from class: NameVotingSystem
Vote a set of ratings. Keys of the map should be strings (choice names) and values should be of a numeric type. This is slightly faster than the version that takes a map because no conversion is done.

Specified by:
voteRating in class NameVotingSystem
Parameters:
vote - a set of (name,rating) pairs
See Also:
NameVotingSystem.voteRating(Map)

recount

protected void recount(NamedSTV.TallyState[] tv,
                       int butNot)

getWinners

public NameVotingSystem.NameVote[] getWinners()
Specified by:
getWinners in class NameVotingSystem
Returns:
A sorted array of (name,rating) pairs. Ties can be determined by rating.

htmlSummary

public java.lang.StringBuffer htmlSummary(java.lang.StringBuffer sb)
Description copied from class: NameVotingSystem
Get HTML summary of voting system state.

Specified by:
htmlSummary in class NameVotingSystem
Parameters:
sb - a valid StringBuffer to which HTML summary will be appended.
Returns:
same StringBuffer passed in, with HTML summary of voting system state appended.

name

public java.lang.String name()
Specified by:
name in class NameVotingSystem
Returns:
name of this voting system (may be modified by settings from init)

quota

public static double quota(int style,
                           double votes,
                           int seats)

main

public static void main(java.lang.String[] argv)