net.sf.freecol.common.util
Class RandomChoice<T>

java.lang.Object
  extended by net.sf.freecol.common.util.RandomChoice<T>

public class RandomChoice<T>
extends java.lang.Object


Field Summary
private  T object
           
private  int probability
           
 
Constructor Summary
RandomChoice(T object, int probability)
           
 
Method Summary
 T getObject()
           
 int getProbability()
           
static
<T> int
getTotalProbability(java.util.Collection<RandomChoice<T>> input)
           
static
<T> T
getWeightedRandom(java.util.logging.Logger logger, java.lang.String logMe, java.util.Random random, java.util.Collection<RandomChoice<T>> input)
           
static
<T> T
select(java.util.Collection<RandomChoice<T>> input, int probability)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

probability

private final int probability

object

private final T object
Constructor Detail

RandomChoice

public RandomChoice(T object,
                    int probability)
Method Detail

getProbability

public int getProbability()

getObject

public T getObject()

getWeightedRandom

public static <T> T getWeightedRandom(java.util.logging.Logger logger,
                                      java.lang.String logMe,
                                      java.util.Random random,
                                      java.util.Collection<RandomChoice<T>> input)

getTotalProbability

public static <T> int getTotalProbability(java.util.Collection<RandomChoice<T>> input)

select

public static <T> T select(java.util.Collection<RandomChoice<T>> input,
                           int probability)