summaryrefslogtreecommitdiff
path: root/projects/net.wotonomy.persistence/src/main/java/net/wotonomy/control/EOGlobalID.java
blob: 346362ccadfcb52a2d764a6cf04f67f2f026c7a2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/*
Wotonomy: OpenStep design patterns for pure Java applications.
Copyright (C) 2001 Michael Powers

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, see http://www.gnu.org
*/

package net.wotonomy.control;

import java.io.Serializable;

/**
 * A pure java implementation of EOGlobalID.
 *
 * @author michael@mpowers.net
 * @author $Author: cgruber $
 * @version $Revision: 893 $
 */
public abstract class EOGlobalID implements Cloneable, Serializable {
	/**
	 * ObjectStores broadcast this notification when they replace a temporary global
	 * id with a permanent one. EditingContexts listen for these notifications to
	 * update their mapping of global ids to objects. The object of the notification
	 * is null, and the user info contains a mapping of the old temporary ids to the
	 * new permanent ids.
	 */
	public static final String GlobalIDChangedNotification = "GlobalIDChangedNotification";

	/**
	 * Returns whether this id is a temporary id. Temporary ids are generated for
	 * newly created objects that have not been persisted. When persisted, the
	 * temporary id is discarded in favor of the one generated by the object store.
	 */
	public abstract boolean isTemporary();

	/**
	 * Returns a copy of this object. This implementation calls super.clone().
	 */
	public Object clone() throws CloneNotSupportedException {
		return super.clone();
	}
}

/*
 * $Log$ Revision 1.1 2006/02/16 13:19:57 cgruber Check in all sources in
 * eclipse-friendly maven-enabled packages.
 *
 * Revision 1.4 2001/04/29 22:02:45 mpowers Work on id transposing between
 * editing contexts.
 *
 * Revision 1.3 2001/03/15 21:10:26 mpowers Implemented global id
 * re-registration for newly saved inserts.
 *
 * Revision 1.2 2001/02/15 21:13:30 mpowers First draft implementation is
 * complete. Now on to debugging.
 *
 * Revision 1.1 2001/02/05 03:45:37 mpowers Starting work on EOEditingContext.
 *
 *
 */