KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > jofti > cache > NonComparableKeyWrapper


1 /*
2  * Created on 10-Jul-2005
3  *
4  */

5 package com.jofti.cache;
6
7 import java.io.Serializable JavaDoc;
8
9 /**
10
11  *
12  *The implmentation class for keys that do not implement Comparable.<p>
13  *
14   * @author Steve Woodcock (steve@jofti.com)<p>
15  */

16 public class NonComparableKeyWrapper implements INonComparableKeyWrapper, Serializable JavaDoc {
17
18     
19     
20
21     private static final long serialVersionUID = 7309788376554006517L;
22     
23     private Object JavaDoc key;
24     
25     public NonComparableKeyWrapper(Object JavaDoc key){
26         this.key = key;
27     }
28     
29     public Object JavaDoc getKey() {
30         return key;
31     }
32
33     /* (non-Javadoc)
34      * @see java.lang.Comparable#compareTo(java.lang.Object)
35      */

36     public int compareTo(Object JavaDoc o) {
37     
38         if (o instanceof INonComparableKeyWrapper){
39             return key.toString().compareTo(((INonComparableKeyWrapper)o).getKey().toString());
40         }else{
41             return -1;
42         }
43     }
44     
45     public boolean equals(Object JavaDoc o){
46         if (o instanceof INonComparableKeyWrapper){
47             return key.equals(((INonComparableKeyWrapper)o).getKey());
48         }else{
49             return false;
50         }
51     }
52
53     public int hashCode(){
54         return key.hashCode();
55     }
56     
57     public String JavaDoc toString(){
58         return key.toString();
59     }
60 }
61
Popular Tags