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