summaryrefslogtreecommitdiff
path: root/projects/net.wotonomy.persistence/src/main/java/net/wotonomy/control/EOGlobalID.java
blob: 1b4ccbe9f2c95545ac8af77201bc5a41cd53530e (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
72
73
74
75
76
77
78
79
80
81
82
83
/*
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.
 *
 *
 */