1 package com.db4o.f1.chapter4; 2 3 import java.io.*; 4 import java.util.Arrays ; 5 6 import com.db4o.*; 7 import com.db4o.f1.*; 8 import com.db4o.query.*; 9 10 11 public class InheritanceExample extends Util { 12 public static void main(String [] args) { 13 new File(Util.YAPFILENAME).delete(); 14 ObjectContainer db=Db4o.openFile(Util.YAPFILENAME); 15 try { 16 storeFirstCar(db); 17 storeSecondCar(db); 18 retrieveTemperatureReadoutsQBE(db); 19 retrieveAllSensorReadoutsQBE(db); 20 retrieveAllSensorReadoutsQBEAlternative(db); 21 retrieveAllSensorReadoutsQuery(db); 22 retrieveAllObjectsQBE(db); 23 } 24 finally { 25 db.close(); 26 } 27 } 28 29 public static void storeFirstCar(ObjectContainer db) { 30 Car car1=new Car("Ferrari"); 31 Pilot pilot1=new Pilot("Michael Schumacher",100); 32 car1.setPilot(pilot1); 33 db.set(car1); 34 } 35 36 public static void storeSecondCar(ObjectContainer db) { 37 Pilot pilot2=new Pilot("Rubens Barrichello",99); 38 Car car2=new Car("BMW"); 39 car2.setPilot(pilot2); 40 car2.snapshot(); 41 car2.snapshot(); 42 db.set(car2); 43 } 44 45 public static void retrieveAllSensorReadoutsQBE( 46 ObjectContainer db) { 47 SensorReadout proto=new SensorReadout(null,null,null); 48 ObjectSet result=db.get(proto); 49 listResult(result); 50 } 51 52 public static void retrieveTemperatureReadoutsQBE( 53 ObjectContainer db) { 54 SensorReadout proto= 55 new TemperatureSensorReadout(null,null,null,0.0); 56 ObjectSet result=db.get(proto); 57 listResult(result); 58 } 59 60 public static void retrieveAllSensorReadoutsQBEAlternative( 61 ObjectContainer db) { 62 ObjectSet result=db.get(SensorReadout.class); 63 listResult(result); 64 } 65 66 public static void retrieveAllSensorReadoutsQuery( 67 ObjectContainer db) { 68 Query query=db.query(); 69 query.constrain(SensorReadout.class); 70 ObjectSet result=query.execute(); 71 listResult(result); 72 } 73 74 public static void retrieveAllObjectsQBE(ObjectContainer db) { 75 ObjectSet result=db.get(new Object ()); 76 listResult(result); 77 } 78 79 } 80 | Popular Tags |