Source code: ojb/broker/PersistentObject.java
1 package ojb.broker;
2
3 import java.util.Vector;
4 /**
5 * The PersistenceBroker allows to make objects of arbitrary classes persistent.
6 * They don't have to be derived from PersistentObject.
7 * But when Business-objects are not to be derived from a special class it may be a
8 * good idea to use PersistentObject as the base class.
9 * Persistent Objects manages the persistence brokers functionalities with
10 * convenient wrapper methods
11 * @see ojb.examples.broker.PersistentArticle as an example
12 *
13 * @author <a href="mailto:thomas.mahler@itellium.com">Thomas Mahler<a>
14 */
15 public class PersistentObject implements Persistent {
16
17 /** The PersistenceBroker */
18 private static PersistenceBroker _TheBroker = null;
19
20
21
22 /**
23 * Make an object persistent. generates and execute either UPDATE or INSERT
24 * Statement.
25 */
26 public void store() {
27 _TheBroker.store(this);
28 }
29
30 /**
31 * generates and executes a DELETE Statement that remove the objects
32 * representation from the underlying database.
33 */
34 public void delete() {
35 _TheBroker.delete(this);
36 }
37
38
39
40 /**
41 * return reference to PersistenceBroker
42 */
43 private static PersistenceBroker getBroker()
44 {
45 if (_TheBroker == null)
46 _TheBroker = PersistenceBrokerFactory.createPersistenceBroker();
47 return _TheBroker;
48 }/**
49 * The Object Factory for persistent objects. the Vector pkValues must contain
50 * Values for all Primary key fields of the Objects underlying database table
51 */
52 public static PersistentObject getObjectByIdentity(Identity oid)
53 {
54 return (PersistentObject) getBroker().getObjectByIdentity(oid);
55 }}