KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > db4odoc > f1 > metainf > MetaInfExample


1 /* Copyright (C) 2004 - 2006 db4objects Inc. http://www.db4o.com */
2
3 package com.db4odoc.f1.metainf;
4
5 import java.io.File JavaDoc;
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 JavaDoc[] args) {
16         setObjects();
17         getMetaObjects();
18         getMetaObjectsInfo();
19     }
20     // end main
21

22     public static void setObjects(){
23         new File JavaDoc(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     // end setObjects
35

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     // end getMetaObjects
53

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     // end getMetaObjectsInfo
72
}
73
Popular Tags