summaryrefslogtreecommitdiff
path: root/java/JACE/netsvcs/Time/TimeInfo.java
blob: 4ebfc793adb2cef0b3c6b160cf5d2b32c367e9a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
package JACE.netsvcs.Time;

/**
 * Wrapper for use with the clerk, containing a sequence number and
 * time offset pair.
 */
public class TimeInfo
{
  /**
   * Default constructor.
   */
  public TimeInfo ()
  {
    this (0, 0);
  }

  /** 
   * Constructor.
   *
   *@param seqNum sequence number
   *@param delta time offset in seconds
   */
  public TimeInfo (int seqNum, long delta)
  {
    sequenceNumber_ = seqNum;
    delta_ = delta;
  }

  /** 
   * Returns this TimeInfo's sequence number.
   */
  public int sequenceNumber ()
  {
    return sequenceNumber_;
  }

  /** 
   * Sets this TimeInfo's sequence number.
   */
  public void sequenceNumber (int num)
  {
    sequenceNumber_ = num;
  }

  /**
   * Returns the time offset represented by this TimeInfo instance. 
   * (in sec)
   */
  public long delta ()
  {
    return delta_;
  }

  /**
   * Sets the time offset (in sec).
   */
  public void delta (long num)
  {
    delta_ = num;
  }

  /**
   * Returns an informative String about the time difference represented
   * by this TimeInfo instance.  The sequence number is included in
   * brackets.
   * <P>
   * Example:
   * <PRE>
   * Local time is 3 sec slower [57]
   * </PRE>
   */
  public String toString ()
  {
    String result = "Local time is ";
    if (delta_ > 0) {
      result += (delta_ + " sec slower");
    } else
    if (delta_ < 0) {
      result += (delta_ + " sec faster");
    } else
      result += "the same as the average";

    result += " [" + sequenceNumber_ + "]";

    return result;
  }

  private long delta_;
  private int sequenceNumber_;
}