1 2 3 package com.db4odoc.f1.metainf; 4 5 import java.io.File ; 6 7 import com.db4o.Db4o; 8 import com.db4o.ObjectContainer; 9 import com.db4o.ext.StoredClass; 10 import com.db4o.ext.StoredField; 11 import com.db4odoc.f1.Util; 12 13 public class MetaInfExample extends Util { 14 15 public static void main(String [] args) { 16 setObjects(); 17 getMetaObjects(); 18 getMetaObjectsInfo(); 19 } 20 22 public static void setObjects(){ 23 new File (Util.YAPFILENAME).delete(); 24 ObjectContainer oc = Db4o.openFile(Util.YAPFILENAME); 25 try { 26 Car car = new Car("BMW", new Pilot("Rubens Barrichello")); 27 oc.set(car); 28 car = new Car("Ferrari", new Pilot("Michael Schumacher")); 29 oc.set(car); 30 } finally { 31 oc.close(); 32 } 33 } 34 36 public static void getMetaObjects(){ 37 ObjectContainer oc = Db4o.openFile(Util.YAPFILENAME); 38 try { 39 System.out.println("Retrieve meta information for class: "); 40 StoredClass sc = oc.ext().storedClass(Car.class.getName()); 41 System.out.println("Stored class: "+ sc.toString()); 42 43 System.out.println("Retrieve meta information for all classes in database: "); 44 StoredClass sclasses[] = oc.ext().storedClasses(); 45 for (int i=0; i< sclasses.length; i++){ 46 System.out.println(sclasses[i].getName()); 47 } 48 } finally { 49 oc.close(); 50 } 51 } 52 54 public static void getMetaObjectsInfo(){ 55 ObjectContainer oc = Db4o.openFile(Util.YAPFILENAME); 56 try { 57 System.out.println("Retrieve meta information for field: "); 58 StoredClass sc = oc.ext().storedClass(Car.class.getName()); 59 StoredField sf = sc.storedField("pilot",Pilot.class); 60 System.out.println("Field info: "+ sf.getName()+"/"+sf.getStoredType()+"/isArray="+sf.isArray()); 61 62 System.out.println("Retrieve all fields: "); 63 StoredField sfields[] = sc.getStoredFields(); 64 for (int i=0; i< sfields.length; i++){ 65 System.out.println("Stored field: "+ sfields[i].getName()+"/"+sfields[i].getStoredType()); 66 } 67 } finally { 68 oc.close(); 69 } 70 } 71 } 73 | Popular Tags |