import java.text.DecimalFormat;
/**
 * TimeDuration is an interval of time. 
 * The interval is in minutes and seconds (whole numbers).

 * Intervals greater than 60 minutes do not "roll over" to hours.  
 * 
 * @author J. Dalbey
 * @version 9/2009
 */
public class TimeDuration
{
    /* duration is represented in seconds */
    private Natural duration;

     /**
      * Construct a time duration with a given initial number of seconds.
      * @param initialSeconds integer value of seconds <BR>
      * @pre 0 <= initialSeconds  <BR>
      */
    public TimeDuration(int initialSeconds)

     /**
      * Construct a time duration with a given initial value for minutes
      * and seconds.
      * @param initialMinutes integer value of minutes
      * @param initialSeconds integer value of seconds <BR>
      * @pre 0 <= initialMinutes <= 999 <BR>
      * @pre 0 <= initialSeconds <= 59 <BR>
      */
    public TimeDuration(int initialMinutes, int initialSeconds)

    /**
     * Accessor to number of minutes.
     * @return the minutes component of this TimeDuration
     */
    public int minutes()

    /** Return duration as seconds.
     * @return int duration as number of seconds.
     */
    public int seconds()

    /* Convert a Natural to a TimeDuration */
    private static TimeDuration toTimeDuration(Natural nat)

    /**
     * Returns a TimeDuration whose value is <tt>(this + val)</tt>.
     *
     * @param  val value to be added to this TimeDuration.
     * @return <tt>this + val</tt>
     */
    public TimeDuration add(TimeDuration val)

    /**
     * Returns a TimeDuration whose value is <tt>(this - val)</tt>.
     *
     * @param  val value to be subtracted from this TimeDuration.
     * @return <tt>this - val</tt>
     * @throws ArithmeticException if result would be negative.
     */
    public TimeDuration subtract(TimeDuration val)

    /**
     * Compares this TimeDuration with the specified Object for equality.
     *
     * @param  x Object to which this TimeDuration is to be compared.
     * @return <tt>true</tt> if and only if the specified Object is a
     *  TimeDuration whose value is numerically equal to this TimeDuration.
     */
    public boolean equals(Object x)

    /**
      * Return a displayable representation of this time interval.
      * @return the time in a common "MM:SS" format
      */
    public String toString()

}