KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > db4odoc > f1 > persist > PeekPersistedExample


1 /* Copyright (C) 2004 - 2006 db4objects Inc. http://www.db4o.com */
2
3 package com.db4odoc.f1.persist;
4
5 import java.io.File JavaDoc;
6
7 import com.db4o.Db4o;
8 import com.db4o.ObjectContainer;
9 import com.db4o.ObjectSet;
10 import com.db4odoc.f1.Util;
11
12
13 public class PeekPersistedExample extends Util {
14
15
16     public static void main(String JavaDoc[] args) {
17         measureCarTemperature();
18     }
19     // end main
20

21     public static void setObjects(){
22         new File JavaDoc(Util.YAPFILENAME).delete();
23         ObjectContainer db = Db4o.openFile(Util.YAPFILENAME);
24         try {
25             Car car = new Car("BMW");
26             db.set(car);
27         } finally {
28             db.close();
29         }
30     }
31     // end setObjects
32

33     public static void measureCarTemperature(){
34         setObjects();
35         ObjectContainer db = Db4o.openFile(Util.YAPFILENAME);
36         try {
37             ObjectSet result = db.query(Car.class);
38             if (result.size() > 0){
39                 Car car = (Car)result.get(0);
40                 Car car1 = (Car)db.ext().peekPersisted(car, 5, true);
41                 Change1 ch1 = new Change1();
42                 ch1.init(car1);
43                 Car car2 = (Car)db.ext().peekPersisted(car, 5, true);
44                 Change2 ch2 = new Change2();
45                 ch2.init(car2);
46                 try {
47                     Thread.sleep(300);
48                 } catch (InterruptedException JavaDoc e) {}
49                 // We can work on the database object at the same time
50
car.setModel("BMW M3Coupe");
51                 db.set(car);
52                 ch1.stop();
53                 ch2.stop();
54                 System.out.println("car1 saved to the database: " + db.ext().isStored(car1));
55                 System.out.println("car2 saved to the database: " + db.ext().isStored(car1));
56                 int temperature = (int)((car1.getTemperature() + car2.getTemperature())/2);
57                 car.setTemperature(temperature);
58                 db.set(car);
59             }
60         } finally {
61             db.close();
62         }
63         checkCar();
64     }
65     // end measureCarTemperature
66

67     public static void checkCar(){
68         ObjectContainer db = Db4o.openFile(Util.YAPFILENAME);
69         try {
70             ObjectSet result = db.query(Car.class);
71             listResult(result);
72         } finally {
73             db.close();
74         }
75     }
76     // end checkCar
77

78     public static void listResult(ObjectSet result) {
79         System.out.println(result.size());
80         while(result.hasNext()) {
81             System.out.println(result.next());
82         }
83     }
84     // end listResult
85
}
86
Popular Tags