KickJava   Java API By Example, From Geeks To Geeks.

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


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.coalesce.*;
27
28 public final class IdentityTokenizedCoalesceChecker implements CoalesceChecker
29 {
30     public static IdentityTokenizedCoalesceChecker INSTANCE = new IdentityTokenizedCoalesceChecker();
31
32     public boolean checkCoalesce( Object JavaDoc a, Object JavaDoc b )
33     {
34     IdentityTokenized aa = (IdentityTokenized) a;
35     IdentityTokenized bb = (IdentityTokenized) b;
36     
37     String JavaDoc ta = aa.getIdentityToken();
38     String JavaDoc tb = bb.getIdentityToken();
39     
40     if (ta == null || tb == null)
41         throw new NullPointerException JavaDoc( "[c3p0 bug] An IdentityTokenized object has no identity token set?!?! " + (ta == null ? ta : tb) );
42     else
43         return ta.equals(tb);
44     }
45     
46     public int coalesceHash( Object JavaDoc a )
47     {
48     String JavaDoc t = ((IdentityTokenized) a).getIdentityToken();
49     return (t != null ? t.hashCode() : 0);
50     }
51
52     private IdentityTokenizedCoalesceChecker()
53     {}
54 }
55
Popular Tags