KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > mchange > v2 > c3p0 > impl > IdentityTokenResolvable


1 /*
2  * Distributed as part of c3p0 v.0.9.1
3  *
4  * Copyright (C) 2005 Machinery For Change, Inc.
5  *
6  * Author: Steve Waldman <swaldman@mchange.com>
7  *
8  * This library is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU Lesser General Public License version 2.1, as
10  * published by the Free Software Foundation.
11  *
12  * This software is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public License
18  * along with this software; see the file LICENSE. If not, write to the
19  * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
20  * Boston, MA 02111-1307, USA.
21  */

22
23
24 package com.mchange.v2.c3p0.impl;
25
26 import com.mchange.v2.c3p0.*;
27 import java.io.ObjectStreamException JavaDoc;
28
29 /**
30  * This is a convenient base class for all classes
31  * that wish to establish an initial identity which
32  * will be the basis of a one-per vm identity: i.e.
33  * in any vm there should only ever be a single object
34  * with a given identity token (except transiently during
35  * canonicalization)
36  *
37  * It would be convenient to put the getter/setter methods
38  * for the identity token here, but unfortunately we have no
39  * way of setting up the for Referenceability in multiple
40  * levels of a class hierarchy. So we leave the getters/setters,
41  * and variable initialization to code-generators.
42  */

43 public abstract class IdentityTokenResolvable extends AbstractIdentityTokenized
44 {
45     public static Object JavaDoc doResolve(IdentityTokenized itd)
46     { return C3P0Registry.reregister( itd ); }
47
48     protected Object JavaDoc readResolve() throws ObjectStreamException JavaDoc
49     {
50     //System.err.println("READ RESOLVE!!!!");
51
Object JavaDoc out = doResolve( this );
52     verifyResolve( out );
53     //System.err.println("ORIG: " + this);
54
//System.err.println("RSLV: " + out);
55
return out;
56     }
57
58     protected void verifyResolve( Object JavaDoc o ) throws ObjectStreamException JavaDoc
59     {}
60 }
Popular Tags