1 2 3 package com.db4odoc.f1.clientserver; 4 5 import java.io.File ; 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 EXTFILENAME="formula1e.yap"; 18 19 public static void main(String [] args) { 20 switchExtClients(); 21 } 22 24 public static void switchExtClients() { 25 new File (Util.YAPFILENAME).delete(); 26 new File (EXTFILENAME).delete(); 27 ObjectServer server=Db4o.openServer(Util.YAPFILENAME,0); 28 try { 29 ObjectContainer client=server.openClient(); 30 deleteAll(client); 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 53 public static void retrieveAll(ObjectContainer db){ 54 ObjectSet result=db.get(new Object ()); 55 listResult(result); 56 } 57 59 public static void deleteAll(ObjectContainer db) { 60 ObjectSet result=db.get(new Object ()); 61 while(result.hasNext()) { 62 db.delete(result.next()); 63 } 64 } 65 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 } 75 | Popular Tags |