rails.algorithms
Class RevenueAdapter
java.lang.Object
rails.algorithms.RevenueAdapter
- All Implemented Interfaces:
- java.lang.Runnable
public final class RevenueAdapter
- extends java.lang.Object
- implements java.lang.Runnable
Method Summary |
void |
addRevenueBonus(RevenueBonus bonus)
|
void |
addRevenueListener(RevenueListener listener)
|
boolean |
addStartVertices(java.util.Collection<NetworkVertex> startVertices)
|
void |
addTrain(NetworkTrain train)
|
boolean |
addTrain(TrainI railsTrain)
|
boolean |
addTrainByString(java.lang.String trainString)
|
void |
addVertexVisitSet(RevenueAdapter.VertexVisit visit)
|
int |
calculateRevenue()
|
int |
calculateRevenue(int startTrain,
int finalTrain)
|
static RevenueAdapter |
createRevenueAdapter(GameManagerI gm,
PublicCompanyI company,
PhaseI phase)
|
void |
drawOptimalRunAsPath(HexMap map)
|
(package private) int |
dynamicEvaluation()
is called by rc for dynamic evaluations |
(package private) int |
dynamicPrediction()
is called by rc for dynamic predictions |
PublicCompanyI |
getCompany()
|
java.util.List<RevenueTrainRun> |
getCurrentRun()
|
java.util.Set<NetworkEdge> |
getEdges()
|
org.jgrapht.graph.SimpleGraph<NetworkVertex,NetworkEdge> |
getGraph()
|
java.util.List<RevenueTrainRun> |
getOptimalRun()
|
java.lang.String |
getOptimalRunPrettyPrint(boolean includeDetails)
|
PhaseI |
getPhase()
|
int |
getRCEdgeId(NetworkEdge edge)
|
org.jgrapht.Graph<NetworkVertex,NetworkEdge> |
getRCGraph()
|
int |
getRCVertexId(NetworkVertex vertex)
|
java.util.List<RevenueBonus> |
getRevenueBonuses()
|
java.util.Set<NetworkVertex> |
getStartVertices()
|
java.util.List<NetworkTrain> |
getTrains()
|
int |
getVertexValue(NetworkVertex vertex,
NetworkTrain train,
PhaseI phase)
|
java.lang.String |
getVertexValueAsString(NetworkVertex vertex,
NetworkTrain train,
PhaseI phase)
|
java.util.List<RevenueAdapter.VertexVisit> |
getVertexVisitSets()
|
java.util.Set<NetworkVertex> |
getVertices()
|
void |
initRevenueCalculator(boolean useMultiGraph)
|
(package private) void |
notifyRevenueListener(int revenue,
boolean finalResult)
|
void |
populateFromRails()
|
void |
removeRevenueListener()
|
void |
removeTrain(NetworkTrain train)
|
void |
run()
|
java.lang.String |
toString()
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
log
protected static org.apache.log4j.Logger log
rcGraph
org.jgrapht.Graph<NetworkVertex,NetworkEdge> rcGraph
RevenueAdapter
public RevenueAdapter(GameManagerI gameManager,
NetworkGraphBuilder graphBuilder,
NetworkCompanyGraph companyGraph,
PublicCompanyI company,
PhaseI phase)
createRevenueAdapter
public static RevenueAdapter createRevenueAdapter(GameManagerI gm,
PublicCompanyI company,
PhaseI phase)
getCompany
public PublicCompanyI getCompany()
getPhase
public PhaseI getPhase()
getGraph
public org.jgrapht.graph.SimpleGraph<NetworkVertex,NetworkEdge> getGraph()
getVertices
public java.util.Set<NetworkVertex> getVertices()
getEdges
public java.util.Set<NetworkEdge> getEdges()
getRCGraph
public org.jgrapht.Graph<NetworkVertex,NetworkEdge> getRCGraph()
getRCVertexId
public int getRCVertexId(NetworkVertex vertex)
getRCEdgeId
public int getRCEdgeId(NetworkEdge edge)
getStartVertices
public java.util.Set<NetworkVertex> getStartVertices()
addStartVertices
public boolean addStartVertices(java.util.Collection<NetworkVertex> startVertices)
getTrains
public java.util.List<NetworkTrain> getTrains()
addTrain
public boolean addTrain(TrainI railsTrain)
addTrain
public void addTrain(NetworkTrain train)
removeTrain
public void removeTrain(NetworkTrain train)
addTrainByString
public boolean addTrainByString(java.lang.String trainString)
getVertexVisitSets
public java.util.List<RevenueAdapter.VertexVisit> getVertexVisitSets()
addVertexVisitSet
public void addVertexVisitSet(RevenueAdapter.VertexVisit visit)
getRevenueBonuses
public java.util.List<RevenueBonus> getRevenueBonuses()
addRevenueBonus
public void addRevenueBonus(RevenueBonus bonus)
populateFromRails
public void populateFromRails()
initRevenueCalculator
public void initRevenueCalculator(boolean useMultiGraph)
getVertexValue
public int getVertexValue(NetworkVertex vertex,
NetworkTrain train,
PhaseI phase)
getVertexValueAsString
public java.lang.String getVertexValueAsString(NetworkVertex vertex,
NetworkTrain train,
PhaseI phase)
calculateRevenue
public int calculateRevenue()
calculateRevenue
public int calculateRevenue(int startTrain,
int finalTrain)
getOptimalRun
public java.util.List<RevenueTrainRun> getOptimalRun()
getCurrentRun
public java.util.List<RevenueTrainRun> getCurrentRun()
dynamicEvaluation
int dynamicEvaluation()
- is called by rc for dynamic evaluations
dynamicPrediction
int dynamicPrediction()
- is called by rc for dynamic predictions
addRevenueListener
public void addRevenueListener(RevenueListener listener)
notifyRevenueListener
void notifyRevenueListener(int revenue,
boolean finalResult)
run
public void run()
- Specified by:
run
in interface java.lang.Runnable
removeRevenueListener
public void removeRevenueListener()
getOptimalRunPrettyPrint
public java.lang.String getOptimalRunPrettyPrint(boolean includeDetails)
drawOptimalRunAsPath
public void drawOptimalRunAsPath(HexMap map)
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object