KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > db4odoc > f1 > clientserver > ExtClientExample


1 /* Copyright (C) 2004 - 2006 db4objects Inc. http://www.db4o.com */
2
3 package com.db4odoc.f1.clientserver;
4
5 import java.io.File JavaDoc;
6
7 import com.db4o.Db4o;
8 import com.db4o.ObjectContainer;
9 import com.db4o.ObjectServer;
10 import com.db4o.ObjectSet;
11 import com.db4o.ext.ExtClient;
12 import com.db4odoc.f1.Util;
13
14
15 public class ExtClientExample {
16
17     public final static String JavaDoc EXTFILENAME="formula1e.yap";
18     
19     public static void main(String JavaDoc[] args) {
20         switchExtClients();
21     }
22     // end main
23

24     public static void switchExtClients() {
25         new File JavaDoc(Util.YAPFILENAME).delete();
26         new File JavaDoc(EXTFILENAME).delete();
27         ObjectServer server=Db4o.openServer(Util.YAPFILENAME,0);
28         try {
29             ObjectContainer client=server.openClient();
30             deleteAll(client); // added to solve sticking objects in doctor
31
Car car = new Car("BMW");
32             client.set(car);
33             System.out.println("Objects in the main database file:");
34             retrieveAll(client);
35             
36             System.out.println("Switching to additional database:");
37             ExtClient clientExt = (ExtClient)client;
38             clientExt.switchToFile(EXTFILENAME);
39             car = new Car("Ferrari");
40             clientExt.set(car);
41             retrieveAll(clientExt);
42             System.out.println("Main database file again: ");
43             clientExt.switchToMainFile();
44             retrieveAll(clientExt);
45             clientExt.close();
46         }
47         finally {
48             server.close();
49         }
50     }
51     // end switchExtClients
52

53     public static void retrieveAll(ObjectContainer db){
54         ObjectSet result=db.get(new Object JavaDoc());
55         listResult(result);
56     }
57     // end retrieveAll
58

59     public static void deleteAll(ObjectContainer db) {
60         ObjectSet result=db.get(new Object JavaDoc());
61         while(result.hasNext()) {
62             db.delete(result.next());
63         }
64     }
65     // end deleteAll
66

67     public static void listResult(ObjectSet result) {
68         System.out.println(result.size());
69         while(result.hasNext()) {
70             System.out.println(result.next());
71         }
72     }
73     // end listResult
74
}
75     
Popular Tags