package org.lucci.madhoc.network.monitor.measure;

import org.lucci.madhoc.env.MobilityMedium;
import org.lucci.madhoc.simulation.measure.NaturalIntegerSensor;
import org.lucci.madhoc.simulation.measure.Unit;
import org.lucci.madhoc.simulation.projection.Projection;

/*
 * Created on Jul 7, 2004
 */

/**
 * @author luc.hogie
 */
public class CarCountSensor extends NaturalIntegerSensor
{

    /*
     * (non-Javadoc)
     * 
     * @see org.lucci.madhoc.simulation.Measure#getName()
     */
    public String getName()
    {
        return "number of cars";
    }

    /*
     * (non-Javadoc)
     * 
     * @see org.lucci.madhoc.simulation.NumericalMeasure#getUnit()
     */
    public Unit getUnit()
    {
        return Unit.NUMBER_OF_STATIONS;
    }

    /*
     * (non-Javadoc)
     * 
     * @see org.lucci.madhoc.simulation.Measure#takeNewValue(org.lucci.madhoc.simulation.Simulation)
     */
    public Integer takeNewIntegerValue(Projection projection)
    {
        return projection.getNetwork().getStationsWithMobilityMedium(
                MobilityMedium.Car.class).size();
    }
}