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