relativedate.java

### File Source: relativedate.java

             /*
        P/P   *  Method: net.sourceforge.pebble.util.RelativeDate__static_init
              */
         1  /*
         2   * Copyright (c) 2003-2006, Simon Brown
         3   * All rights reserved.
         4   *
         5   * Redistribution and use in source and binary forms, with or without
         6   * modification, are permitted provided that the following conditions are met:
         7   *
         8   *   - Redistributions of source code must retain the above copyright
         9   *     notice, this list of conditions and the following disclaimer.
        10   *
        11   *   - Redistributions in binary form must reproduce the above copyright
        12   *     notice, this list of conditions and the following disclaimer in
        13   *     the documentation and/or other materials provided with the
        14   *     distribution.
        15   *
        16   *   - Neither the name of Pebble nor the names of its contributors may
        17   *     be used to endorse or promote products derived from this software
        18   *     without specific prior written permission.
        19   *
        20   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
        21   * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
        22   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
        23   * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
        24   * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
        25   * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
        26   * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
        27   * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
        28   * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
        29   * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
        30   * POSSIBILITY OF SUCH DAMAGE.
        31   */
        32  package net.sourceforge.pebble.util;
        33
        34  /**
        35   * Represents a relative date (the time since something happened).
        36   *
        37   * @author Simon Brown
        38   */
        39  public class RelativeDate {
        40
        41    private static final long SECOND = 1000;
        42    private static final long MINUTE = SECOND * 60;
        43    private static final long HOUR = MINUTE * 60;
        44    private static final long DAY = HOUR * 24;
        45
        46    /** the number of milliseconds */
        47    private long time;
        48
        49    /**
        50     * Creates a new instance with the specified time.
        51     *
        52     * @param time    a number of milliseconds
        53     */
               /*
        P/P     *  Method: void net.sourceforge.pebble.util.RelativeDate(long)
                *
                *  Postconditions:
                *    this.time == time
                *    init'ed(this.time)
                */
        54    public RelativeDate(long time) {
        55      this.time = time;
        56    }
        57
        58    public long getDays() {
                 /*
        P/P       *  Method: long getDays()
                  *
                  *  Preconditions:
                  *    init'ed(this.time)
                  *
                  *  Postconditions:
                  *    return_value == this.time/86_400_000
                  *    return_value in -106_751_991_167..213_503_982_334
                  */
        59      return time / DAY;
        60    }
        61
        62    public long getHours() {
                 /*
        P/P       *  Method: long getHours()
                  *
                  *  Preconditions:
                  *    init'ed(this.time)
                  *
                  *  Postconditions:
                  *    return_value == (this.time%86_400_000)/3_600_000
                  *    return_value in -23..23
                  */
        63      return (time % DAY) / HOUR;
        64    }
        65
        66    public long getMinutes() {
                 /*
        P/P       *  Method: long getMinutes()
                  *
                  *  Preconditions:
                  *    init'ed(this.time)
                  *
                  *  Postconditions:
                  *    return_value == ((this.time%86_400_000)%3_600_000)/60_000
                  *    return_value in -59..59
                  */
        67      return ((time % DAY) % HOUR) / MINUTE;
        68    }
        69
        70    public long getSeconds() {
                 /*
        P/P       *  Method: long getSeconds()
                  *
                  *  Preconditions:
                  *    init'ed(this.time)
                  *
                  *  Postconditions:
                  *    return_value == (((this.time%86_400_000)%3_600_000)%60_000)/1_000
                  *    return_value in -59..59
                  */
        71      return (((time % DAY) % HOUR) % MINUTE) / SECOND;
        72    }
        73
        74  }

SofCheck Inspector Build Version : 2.22510

relativedate.java | 2010-Jun-25 19:40:32
relativedate.class | 2010-Jul-19 20:23:38