KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > tests > jfun > models > LifecycleTransition


1 package tests.jfun.models;
2
3 public class LifecycleTransition {
4   private int status = 0;
5   private String JavaDoc status_name = "uninitialized";
6   
7   public LifecycleTransition() {
8     target_stamp = 0;
9   }
10   private final int target_stamp;
11   
12   public LifecycleTransition(int target_stamp) {
13     this.target_stamp = target_stamp;
14   }
15
16   private void migrateStatus(String JavaDoc name, int target){
17     if(status!=target-1){
18       throw new IllegalStateException JavaDoc("cannot migrate from "
19           +status_name + " to " + name);
20     }
21     status_name = name;
22     status = target;
23   }
24   
25   public void init(){
26     migrateStatus("initialized", 1);
27     //System.out.println(toString()+ " initializing.");
28
}
29   public void start(){
30     migrateStatus("started", 2);
31   }
32   public void stop(){
33     migrateStatus("stopped", 3);
34   }
35   public void dispose(){
36     migrateStatus("disposed", 4);
37     //System.out.println(toString()+" disposed.");
38
}
39   public String JavaDoc toString(){
40     return "lifecycle";
41   }
42   private int stamp = 0;
43   public void init(int s){
44     migrateStatus("initialized", 1);
45     stamp += s;
46   }
47   public void start(int s){
48     migrateStatus("started", 2);
49     stamp += s;
50   }
51   public void stop(int s){
52     migrateStatus("stopped", 3);
53     stamp += s;
54   }
55   public void dispose(int s){
56     migrateStatus("disposed", 4);
57     stamp += s;
58     if(stamp != target_stamp){
59       throw new IllegalStateException JavaDoc(
60           "stamp mismatch. "+stamp+"!="+target_stamp
61       );
62     }
63     //System.out.println("target stamp "+target_stamp +" reached.");
64
}
65  
66 }
67
Popular Tags