KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > nightlabs > ipanema > person > PersonRegistry


1 /*
2  * Created on Jan 3, 2005
3  * by alex
4  *
5  */

6 package com.nightlabs.ipanema.person;
7
8 import java.util.Iterator JavaDoc;
9
10 import javax.jdo.PersistenceManager;
11
12 import org.apache.log4j.Logger;
13
14 /**
15  * @author Alexander Bieber <alex[AT]nightlabs[DOT]de>
16  *
17  * @jdo.persistence-capable
18  * identity-type = "datastore"
19  * detachable = "true"
20  *
21  * @jdo.inheritance strategy = "new-table"
22  */

23 public class PersonRegistry {
24
25     public static final Logger LOGGER = Logger.getLogger(PersonRegistry.class);
26     
27     /**
28      * @jdo.field persistence-modifier="persistent"
29      */

30     private long nextPersonID;
31     
32     public synchronized long createPersonID() {
33         long tmpLong = nextPersonID;
34         nextPersonID = tmpLong+1;
35         return tmpLong;
36     }
37     
38     public static PersonRegistry getRegistry(PersistenceManager pm) {
39         Iterator JavaDoc it = pm.getExtent(PersonRegistry.class).iterator();
40         if (it.hasNext()) {
41             return (PersonRegistry)it.next();
42         }
43         else {
44             PersonRegistry registry = new PersonRegistry();
45             pm.makePersistent(registry);
46             return registry;
47         }
48     }
49 }
50
Free Books   Free Magazines  
Popular Tags