rails.algorithms
Class RevenueBonus

java.lang.Object
  extended by rails.algorithms.RevenueBonus

public final class RevenueBonus
extends java.lang.Object


Field Summary
protected static org.apache.log4j.Logger log
           
 
Constructor Summary
RevenueBonus(int value, java.lang.String name)
           
 
Method Summary
 void addPhase(PhaseI phase)
           
 boolean addToRevenueCalculator(RevenueCalculator rc, int bonusId, java.util.List<NetworkVertex> allVertices, java.util.List<NetworkTrain> trains, PhaseI phase)
           
 void addTrain(TrainI train)
           
 void addTrainType(TrainTypeI trainType)
           
 void addVertex(NetworkVertex vertex)
           
 void addVertices(java.util.Collection<NetworkVertex> vertices)
           
 boolean checkComplexBonus(java.util.List<NetworkVertex> visitVertices, TrainI train, PhaseI phase)
           
 boolean checkConditions(TrainI train, PhaseI phase)
           
 boolean checkSimpleBonus(NetworkVertex vertex, TrainI train, PhaseI phase)
           
static java.util.Map<java.lang.String,java.lang.Integer> combineBonuses(java.util.Collection<RevenueBonus> bonuses)
           
 java.lang.String getName()
           
static int getNumberNonSimpleBonuses(java.util.List<RevenueBonus> bonuses)
           
 java.util.List<PhaseI> getPhases()
           
 java.util.List<TrainI> getTrains()
           
 java.util.List<TrainTypeI> getTrainTypes()
           
 int getValue()
           
 java.util.List<NetworkVertex> getVertices()
           
 boolean isSimpleBonus()
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

log

protected static org.apache.log4j.Logger log
Constructor Detail

RevenueBonus

public RevenueBonus(int value,
                    java.lang.String name)
Method Detail

addVertex

public void addVertex(NetworkVertex vertex)

addVertices

public void addVertices(java.util.Collection<NetworkVertex> vertices)

addTrainType

public void addTrainType(TrainTypeI trainType)

addTrain

public void addTrain(TrainI train)

addPhase

public void addPhase(PhaseI phase)

getValue

public int getValue()

getName

public java.lang.String getName()

getVertices

public java.util.List<NetworkVertex> getVertices()

getTrainTypes

public java.util.List<TrainTypeI> getTrainTypes()

getTrains

public java.util.List<TrainI> getTrains()

getPhases

public java.util.List<PhaseI> getPhases()

isSimpleBonus

public boolean isSimpleBonus()

addToRevenueCalculator

public boolean addToRevenueCalculator(RevenueCalculator rc,
                                      int bonusId,
                                      java.util.List<NetworkVertex> allVertices,
                                      java.util.List<NetworkTrain> trains,
                                      PhaseI phase)

checkSimpleBonus

public boolean checkSimpleBonus(NetworkVertex vertex,
                                TrainI train,
                                PhaseI phase)

checkComplexBonus

public boolean checkComplexBonus(java.util.List<NetworkVertex> visitVertices,
                                 TrainI train,
                                 PhaseI phase)

checkConditions

public boolean checkConditions(TrainI train,
                               PhaseI phase)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

combineBonuses

public static java.util.Map<java.lang.String,java.lang.Integer> combineBonuses(java.util.Collection<RevenueBonus> bonuses)

getNumberNonSimpleBonuses

public static int getNumberNonSimpleBonuses(java.util.List<RevenueBonus> bonuses)