package org.lucci.madhoc.network.monitor.measure;
import org.lucci.madhoc.network.cost.Cost;
import org.lucci.madhoc.network.net.NetworkingTechnology;
import org.lucci.madhoc.simulation.measure.NaturalNumberSensor;
import org.lucci.madhoc.simulation.measure.Unit;
import org.lucci.madhoc.simulation.projection.Projection;
public class CostSensor extends NaturalNumberSensor
{
@Override
public Unit getUnit()
{
return Unit.EURO;
}
@Override
public String getName()
{
return "cost";
}
@Override
public Double takeNewDoubleValue(Projection projection)
{
double totalCost = 0;
for (NetworkingTechnology t : projection.getNetwork().getStations().iterator().next().getNetwork().getNetworkTypes().values())
{
for (Cost cost : t.getTransferHistory().values())
{
totalCost += cost.getCost();
}
}
return totalCost;
}
}