package vroom.common.modeling.dataModel; /** * <code>DiscreteTimeStamp</code> represents an instant in time as the index of a time interval. * * @see IPlanningPeriod * @see DiscretePlanningPeriod * @author Victor Pillac, <a href="http://uniandes.edu.co">Universidad de Los Andes</a> - <a * href="http://copa.uniandes.edu.co">Copa</a>, <a href="http://www.emn.fr">Ecole des Mines de Nantes</a>-<a * href="http://www.irccyn.ec-nantes.fr/irccyn/d/en/equipes/Slp">SLP</a> * @version 1.0 #updated 16-Feb-2010 10:07:29 a.m. */ public class DiscreteTimeStamp implements ITimeStamp { /** The corresponding interval *. */ private final int mInterval; /** * Creates a time stamp corresponding to the given interval. * * @param interval * the index of the interval for this time spamp * @see DiscretePlanningPeriod */ public DiscreteTimeStamp(int interval) { mInterval = interval; } /* (non-Javadoc) * @see vroom.common.modeling.dataModel.ITimeStamp#doubleValue() */ @Override public double doubleValue() { return mInterval; } /* (non-Javadoc) * @see java.lang.Object#toString() */ @Override public String toString() { return "" + doubleValue(); } /* (non-Javadoc) * @see java.lang.Comparable#compareTo(java.lang.Object) */ @Override public int compareTo(ITimeStamp o) { return Double.compare(doubleValue(), o.doubleValue()); } @Override public boolean equals(Object obj) { return obj instanceof ITimeStamp && compareTo((ITimeStamp) obj) == 0; } }// end DiscreteTimeStamp