1 2 3 package com.db4odoc.f1.enums; 4 5 import java.awt.Color ; 6 import java.io.File ; 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 [] args) { 17 setPilots(); 18 checkPilots(); 19 20 deletePilots(); 21 checkPilots(); 22 deleteQualification(); 23 updateQualification(); 24 } 25 27 public static void setCar(){ 28 new File (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 40 public static void setPilots(){ 41 new File (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 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 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 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 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 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 } 145 | Popular Tags |