package org.lucci.madhoc.simulation.monitor.sensor;

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

/*
 * Created on Jul 6, 2004
 */

/**
 * @author luc.hogie
 */
public class UsedMemoryMeasure extends NaturalIntegerSensor
{
    /* (non-Javadoc)
     * @see org.lucci.madhoc.simulation.Measure#getName()
     */
    public String getName()
    {
        return "memory used";
    }

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

    /* (non-Javadoc)
     * @see org.lucci.madhoc.simulation.measure.Measure#takeNewValue(org.lucci.madhoc.simulation.Simulation)
     */
    public Integer takeNewIntegerValue(Projection projection)
    {
        return (int) (Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory());
    }
}