1 4 package com.jofti.cache.adapter; 5 6 import com.jofti.core.INameSpace; 7 8 9 16 public class NameSpaceWrapper implements Comparable , INameSpace{ 17 18 19 20 21 protected Object nameSpace =null; 22 protected Class nameSpaceClass =null; 23 int hashCode =0; 24 25 public NameSpaceWrapper(Object nameSpace){ 26 this.nameSpace = nameSpace; 27 nameSpaceClass = nameSpace.getClass(); 28 this.hashCode = nameSpace.hashCode(); 29 30 } 31 32 33 36 public int compareTo(Object 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 ) 43 { 44 return ((Comparable )nameSpace).compareTo((Comparable )temp.nameSpace); 45 }else{ 46 return nameSpace.toString().compareTo(temp.nameSpace.toString()); 47 } 48 } 49 throw new IllegalArgumentException ("variable " +o +" is not a NameSpaceWrapper or is null"); 50 51 52 } 53 54 55 56 57 public boolean equals(Object 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 toString(){ 72 return nameSpace.toString(); 73 } 74 75 76 77 80 public Object getDelegate() { 81 return nameSpace; 82 } 83 } 84 | Popular Tags |