KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > jofti > cache > adapter > NameSpaceWrapper


1 /*
2  * Created on 11-May-2005
3  */

4 package com.jofti.cache.adapter;
5
6 import com.jofti.core.INameSpace;
7
8
9 /**
10  * Provides a unified mechanism for dealing with different namspace objects in
11  * the JBossCacheAdapter.
12  *
13  * @author Steve Woodcock
14  *
15  */

16 public class NameSpaceWrapper implements Comparable JavaDoc, INameSpace{
17
18     
19
20     
21     protected Object JavaDoc nameSpace =null;
22     protected Class JavaDoc nameSpaceClass =null;
23     int hashCode =0;
24     
25     public NameSpaceWrapper(Object JavaDoc nameSpace){
26         this.nameSpace = nameSpace;
27         nameSpaceClass = nameSpace.getClass();
28         this.hashCode = nameSpace.hashCode();
29         
30     }
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 != null && o instanceof NameSpaceWrapper){
39             NameSpaceWrapper temp = (NameSpaceWrapper)o;
40             
41             if (nameSpaceClass.equals(temp.nameSpaceClass)
42                     && nameSpace instanceof Comparable JavaDoc)
43             {
44                 return ((Comparable JavaDoc)nameSpace).compareTo((Comparable JavaDoc)temp.nameSpace);
45             }else{
46                 return nameSpace.toString().compareTo(temp.nameSpace.toString());
47             }
48         }
49         throw new IllegalArgumentException JavaDoc("variable " +o +" is not a NameSpaceWrapper or is null");
50         
51             
52     }
53     
54     
55     
56     
57     public boolean equals(Object JavaDoc o){
58         
59         if (o != null && nameSpaceClass.equals(((NameSpaceWrapper)o).nameSpaceClass)) {
60             return nameSpace.equals(((NameSpaceWrapper)o).nameSpace);
61             
62         }else{
63             return false;
64         }
65     }
66     
67     public int hashCode(){
68         return hashCode;
69     }
70     
71     public String JavaDoc toString(){
72         return nameSpace.toString();
73     }
74
75
76
77     /* (non-Javadoc)
78      * @see com.jofti.core.INameSpace#getDelegate()
79      */

80     public Object JavaDoc getDelegate() {
81         return nameSpace;
82     }
83 }
84
Popular Tags