01: /*
02: $Header: /cvsroot/xorm/xorm/src/org/xorm/TransientKey.java,v 1.3 2002/11/01 16:57:10 wbiggs Exp $
03:
04: This file is part of XORM.
05:
06: XORM is free software; you can redistribute it and/or modify
07: it under the terms of the GNU General Public License as published by
08: the Free Software Foundation; either version 2 of the License, or
09: (at your option) any later version.
10:
11: XORM is distributed in the hope that it will be useful,
12: but WITHOUT ANY WARRANTY; without even the implied warranty of
13: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14: GNU General Public License for more details.
15:
16: You should have received a copy of the GNU General Public License
17: along with XORM; if not, write to the Free Software
18: Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19: */
20: package org.xorm;
21:
22: /** Class to make unique IDs for transient objects. */
23: class TransientKey implements Comparable {
24: private static long TRANSIENT_ID = 0;
25:
26: public static final TransientKey next() {
27: TransientKey key = new TransientKey();
28: key.id = TRANSIENT_ID++;
29: return key;
30: }
31:
32: public long id;
33:
34: public String toString() {
35: return "{{transient object #" + id + "}}";
36: }
37:
38: public int compareTo(Object other) {
39: return (int) (id - ((TransientKey) other).id);
40: }
41: }
|