1 /*****************************************************************************/ 2 /* Software Testing Automation Framework (STAF) */ 3 /* (C) Copyright IBM Corp. 2001 */ 4 /* */ 5 /* This software is licensed under the Eclipse Public License (EPL) V1.0. */ 6 /*****************************************************************************/ 7 8 package com.ibm.staf.service.event; 9 10 import java.text.*; 11 import java.util.*; 12 13 public class TimeStamp 14 { 15 // static data 16 17 transient private static final String TIME_PATTERN = 18 "{0,number,00}:{1,number,00}:{2,number,00}"; 19 20 transient private static final String DATE_PATTERN = 21 "{0,number,0000}{1,number,00}{2,number,00}"; 22 23 // static methods 24 currentTime()25 public static String currentTime() 26 { 27 Calendar cal = Calendar.getInstance(); 28 29 Object[] args = new Object[] 30 { 31 new Integer(cal.get(cal.HOUR_OF_DAY)), 32 new Integer(cal.get(cal.MINUTE)), 33 new Integer(cal.get(cal.SECOND)) 34 }; 35 36 return MessageFormat.format(TIME_PATTERN, args); 37 } 38 currentDate()39 public static String currentDate() 40 { 41 Calendar cal = Calendar.getInstance(); 42 43 Object[] args = new Object[] 44 { 45 new Integer(cal.get(cal.YEAR)), 46 new Integer(cal.get(cal.MONTH) + 1), 47 new Integer(cal.get(cal.DAY_OF_MONTH)) 48 }; 49 50 return MessageFormat.format(DATE_PATTERN, args); 51 } 52 currentReal()53 public static long currentReal() 54 { 55 return new Date().getTime(); 56 } 57 58 // constructors 59 TimeStamp()60 public TimeStamp() 61 { 62 fCreationTime = System.currentTimeMillis(); 63 fDate = currentDate(); 64 fTime = currentTime(); 65 } 66 67 // public methods 68 date()69 public String date() { return fDate; } time()70 public String time() { return fTime; } real()71 public long real() { return fCreationTime; } 72 after(TimeStamp when)73 public boolean after(TimeStamp when) 74 { 75 return (fCreationTime > when.real()); 76 } 77 before(TimeStamp when)78 public boolean before(TimeStamp when) 79 { 80 return (fCreationTime < when.real()); 81 } 82 equals(TimeStamp when)83 public boolean equals(TimeStamp when) 84 { 85 return (fCreationTime == when.real()); 86 } 87 88 // private data members 89 90 transient private long fCreationTime; 91 transient private String fDate; 92 transient private String fTime; 93 } 94