KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > sapia > ubik > rmi > server > perf > Topic


1 package org.sapia.ubik.rmi.server.perf;
2
3
4 /**
5  * @author Yanick Duchesne
6  * <dl>
7  * <dt><b>Copyright:</b><dd>Copyright &#169; 2002-2003 <a HREF="http://www.sapia-oss.org">Sapia Open Source Software</a>. All Rights Reserved.</dd></dt>
8  * <dt><b>License:</b><dd>Read the license.txt file of the jar or visit the
9  * <a HREF="http://www.sapia-oss.org/license.html">license page</a> at the Sapia OSS web site</dd></dt>
10  * </dl>
11  */

12 public class Topic implements Comparable JavaDoc {
13   private static int _count = 0;
14   private String JavaDoc _name;
15   private long _startTime = -1;
16   private long _endTime = -1;
17   private int _id;
18
19   /**
20    * Constructor for Topic.
21    */

22   public Topic(String JavaDoc name) {
23     _name = name;
24     _id = inc();
25   }
26
27   public String JavaDoc getName() {
28     return _name;
29   }
30
31   public void start() {
32     _startTime = System.currentTimeMillis();
33   }
34
35   public void end() {
36     _endTime = System.currentTimeMillis();
37   }
38
39   public synchronized long duration() {
40     if ((_startTime == -1) || (_endTime == -1)) {
41       return -1;
42     } else {
43       long toReturn = _endTime - _startTime;
44       _startTime = -1;
45       _endTime = -1;
46
47       return toReturn;
48     }
49   }
50
51   /**
52    * @see java.lang.Comparable#compareTo(Object)
53    */

54   public int compareTo(Object JavaDoc other) {
55     return _id - ((Topic) other)._id;
56   }
57
58   static synchronized int inc() {
59     return _count++;
60   }
61 }
62
Popular Tags