KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > db4odoc > f1 > enums > EnumExample


1 /* Copyright (C) 2004 - 2006 db4objects Inc. http://www.db4o.com */
2
3 package com.db4odoc.f1.enums;
4
5 import java.awt.Color JavaDoc;
6 import java.io.File JavaDoc;
7
8 import com.db4o.Db4o;
9 import com.db4o.ObjectContainer;
10 import com.db4o.ObjectSet;
11 import com.db4o.query.Query;
12 import com.db4odoc.f1.Util;
13
14
15 public class EnumExample extends Util {
16     public static void main(String JavaDoc[] args) {
17         setPilots();
18         checkPilots();
19     
20         deletePilots();
21         checkPilots();
22         deleteQualification();
23         updateQualification();
24   }
25     // end main
26

27     public static void setCar(){
28         new File JavaDoc(Util.YAPFILENAME).delete();
29         ObjectContainer db=Db4o.openFile(Util.YAPFILENAME);
30         try {
31             Car car = new Car();
32             car.color = Color.GREEN;
33             db.set(car);
34         } finally {
35             db.close();
36         }
37     }
38     // end setCar
39

40     public static void setPilots(){
41         new File JavaDoc(Util.YAPFILENAME).delete();
42         ObjectContainer db=Db4o.openFile(Util.YAPFILENAME);
43         try {
44             db.set(new Pilot("Michael Schumacher",Qualification.WINNER));
45             db.set(new Pilot("Rubens Barrichello",Qualification.PROFESSIONAL));
46         } finally {
47             db.close();
48         }
49     }
50     // end setPilots
51

52     public static void checkPilots(){
53         ObjectContainer db=Db4o.openFile(Util.YAPFILENAME);
54         try {
55             ObjectSet result = db.query(Pilot.class);
56             System.out.println("Saved pilots: " + result.size());
57             for(int x = 0; x < result.size(); x++){
58                 Pilot pilot = (Pilot )result.get(x);
59                 if (pilot.getQualification() == Qualification.WINNER){
60                     System.out.println("Winner pilot: " + pilot);
61                 } else if (pilot.getQualification() == Qualification.PROFESSIONAL){
62                     System.out.println("Professional pilot: " + pilot);
63                 } else {
64                     System.out.println("Uncategorized pilot: " + pilot);
65                 }
66             }
67         } finally {
68             db.close();
69         }
70     }
71     // end checkPilots
72

73     public static void updateQualification(){
74         System.out.println("Updating WINNER qualification constant");
75         ObjectContainer db=Db4o.openFile(Util.YAPFILENAME);
76         try {
77             Query query = db.query();
78             query.constrain(Qualification.class);
79             query.descend("qualification").constrain("WINNER");
80             ObjectSet result = query.execute();
81             for(int x = 0; x < result.size(); x++){
82                 Qualification qualification = (Qualification)result.get(x);
83                 qualification.testChange("WINNER2006");
84                 db.set(qualification);
85             }
86         } finally {
87             db.close();
88         }
89         printQualification();
90     }
91     // end updateQualification
92

93     public static void deletePilots(){
94         System.out.println("Qualification enum before delete Pilots");
95         printQualification();
96         ObjectContainer db=Db4o.openFile(Util.YAPFILENAME);
97         db.ext().configure() .objectClass(Pilot.class).objectField("qualification").cascadeOnDelete(true);
98
99         try {
100             ObjectSet result = db.query(Pilot.class);
101             for(int x = 0; x < result.size(); x++){
102                 Pilot pilot = (Pilot )result.get(x);
103                 db.delete(pilot);
104             }
105         } finally {
106             db.close();
107         }
108         System.out.println("Qualification enum after delete Pilots");
109         printQualification();
110     }
111     // end deletePilots
112

113     public static void printQualification(){
114         ObjectContainer db=Db4o.openFile(Util.YAPFILENAME);
115         try {
116             ObjectSet result = db.query(Qualification.class);
117             System.out.println("results: " + result.size());
118             for(int x = 0; x < result.size(); x++){
119                 Qualification pq = (Qualification)result.get(x);
120                 System.out.println("Category: "+pq);
121             }
122         } finally {
123             db.close();
124         }
125     }
126     // end printQualification
127

128     public static void deleteQualification(){
129         System.out.println("Explicit delete of Qualification enum");
130         ObjectContainer db=Db4o.openFile(Util.YAPFILENAME);
131         db.ext().configure() .objectClass(Qualification.class).cascadeOnDelete(true);
132         try {
133             ObjectSet result = db.query(Qualification.class);
134             for(int x = 0; x < result.size(); x++){
135                 Qualification pq = (Qualification)result.get(x);
136                 db.delete(pq);
137             }
138         } finally {
139             db.close();
140         }
141         printQualification();
142     }
143     // end deleteQualification
144
}
145
Popular Tags