KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > db4odoc > aliases > AliasExample


1 /* Copyright (C) 2004 - 2006 db4objects Inc. http://www.db4o.com */
2
3 package com.db4odoc.aliases;
4
5 import java.io.File JavaDoc;
6
7 import com.db4o.Db4o;
8 import com.db4o.ObjectContainer;
9 import com.db4o.ObjectSet;
10 import com.db4o.config.TypeAlias;
11 import com.db4o.config.WildcardAlias;
12
13 public class AliasExample {
14     private static final String JavaDoc YAPFILENAME = "formula1.yap";
15     private static TypeAlias tAlias;
16
17     public static void main(String JavaDoc args[])
18     {
19         configureClassAlias();
20         saveDrivers();
21         removeClassAlias();
22         getPilots();
23         savePilots();
24         configureAlias();
25         getObjectsWithAlias();
26     }
27     // end main
28

29     public static void configureClassAlias(){
30         // create a new alias
31
tAlias = new TypeAlias("com.db4odoc.aliases.Pilot","com.db4odoc.aliases.Driver");
32         // add the alias to the db4o configuration
33
Db4o.configure().addAlias(tAlias);
34         // check how does the alias resolve
35
System.out.println("Stored name for com.db4odoc.aliases.Driver: "+tAlias.resolveRuntimeName("com.db4odoc.aliases.Driver"));
36         System.out.println("Runtime name for com.db4odoc.aliases.Pilot: "+tAlias.resolveStoredName("com.db4odoc.aliases.Pilot"));
37     }
38     // end configureClassAlias
39

40     
41     public static void removeClassAlias(){
42         Db4o.configure().removeAlias(tAlias);
43     }
44     // end removeClassAlias
45

46     public static void saveDrivers(){
47         new File JavaDoc(YAPFILENAME ).delete();
48         ObjectContainer db = Db4o.openFile(YAPFILENAME);
49         try {
50             Driver driver = new Driver("David Barrichello",99);
51             db.set(driver);
52             driver = new Driver("Finn Kimi Raikkonen",100);
53             db.set(driver);
54         } finally {
55             db.close();
56         }
57     }
58     // end saveDrivers
59

60     public static void savePilots(){
61         new File JavaDoc(YAPFILENAME ).delete();
62         ObjectContainer db = Db4o.openFile(YAPFILENAME);
63         try {
64             Pilot pilot = new Pilot("David Barrichello",99);
65             db.set(pilot);
66             pilot = new Pilot("Finn Kimi Raikkonen",100);
67             db.set(pilot);
68         } finally {
69             db.close();
70         }
71     }
72     // end savePilots
73

74     public static void getPilots(){
75         ObjectContainer db = Db4o.openFile(YAPFILENAME);
76         try {
77             ObjectSet result = db.query(com.db4odoc.aliases.Pilot.class);
78             listResult(result);
79         } finally {
80             db.close();
81         }
82     }
83     // end getPilots
84

85     public static void getObjectsWithAlias(){
86         ObjectContainer db = Db4o.openFile(YAPFILENAME);
87         try {
88             ObjectSet result = db.query(com.db4odoc.aliases.newalias.Pilot.class);
89             listResult(result);
90         } finally {
91             db.close();
92         }
93     }
94     // end getObjectsWithAlias
95

96     public static void listResult(ObjectSet result) {
97         System.out.println(result.size());
98         while(result.hasNext()) {
99             System.out.println(result.next());
100         }
101     }
102     // end listResult
103

104     public static void configureAlias() {
105         // com.db4odoc.aliases.* - package for the classes saved in the database
106
// com.db4odoc.aliases.newalias.* - runtime package
107
WildcardAlias wAlias = new WildcardAlias("com.db4odoc.aliases.*","com.db4odoc.aliases.newalias.*");
108         Db4o.configure().addAlias(wAlias);
109         System.out.println("Stored name for com.db4odoc.aliases.newalias.Pilot: "+wAlias.resolveRuntimeName("com.db4odoc.aliases.newalias.Pilot"));
110         System.out.println("Runtime name for com.db4odoc.aliases.Pilot: "+wAlias.resolveStoredName("com.db4odoc.aliases.Pilot"));
111     }
112     // end configureAlias
113
}
114
Popular Tags