1 /*
2 * Copyright (c) 1998-2006 The Jgroup Team.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU Lesser General Public License version 2 as
6 * published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU Lesser General Public License for more details.
12 *
13 * You should have received a copy of the GNU Lesser General Public License
14 * along with this program; if not, write to the Free Software
15 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
16 *
17 */
18
19 package jgroup.util.log;
20
21 /**
22 * ExperimentEvent
23 *
24 * @author Hein Meling <hein.meling@uis.no>
25 */
26 public class ExperimentEvent
27 extends Event
28 {
29
30 ////////////////////////////////////////////////////////////////////////////////////////////
31 // Constants
32 ////////////////////////////////////////////////////////////////////////////////////////////
33
34 private static final long serialVersionUID = -4491709600445800676L;
35
36 /**
37 * Supported experiment event types.
38 */
39 public enum Type implements EventType { Begin, End }
40
41
42 ////////////////////////////////////////////////////////////////////////////////////////////
43 // Fields
44 ////////////////////////////////////////////////////////////////////////////////////////////
45
46 /**
47 * The round number for this experiment event
48 */
49 private int round;
50
51 /**
52 * The rerun number for this experiment event
53 */
54 private int rerun;
55
56
57 ////////////////////////////////////////////////////////////////////////////////////////////
58 // Constructor
59 ////////////////////////////////////////////////////////////////////////////////////////////
60
61 public ExperimentEvent(EventType type, int round, int rerun)
62 {
63 super(type, "Round: " + round + ((rerun == -1) ? "" : ", rerun=" + rerun));
64 this.round = round;
65 this.rerun = rerun;
66 }
67
68
69 ////////////////////////////////////////////////////////////////////////////////////////////
70 // Access Methods
71 ////////////////////////////////////////////////////////////////////////////////////////////
72
73 /**
74 * @return Returns the round of this experiment event.
75 */
76 public int getRound()
77 {
78 return round;
79 }
80
81 /**
82 * @return Returns the rerun number for this experiment event
83 */
84 public int getRerun()
85 {
86 return rerun;
87 }
88
89 /**
90 * @return Returns true if the event type is <code>End</code>; otherwise false.
91 *
92 * @see jgroup.util.log.Event#isLastEvent()
93 */
94 @Override
95 public boolean isLastEvent()
96 {
97 return type == Type.End;
98 }
99
100
101 ////////////////////////////////////////////////////////////////////////////////////////////
102 // Methods from Object
103 ////////////////////////////////////////////////////////////////////////////////////////////
104
105 public String toString()
106 {
107 return commonToString(true).toString();
108 }
109
110 } // END ExperimentEvent