1 16 package org.directwebremoting.guice; 17 18 import java.lang.annotation.Annotation ; 19 20 21 class ConvertingImpl implements Converting 22 { 23 public ConvertingImpl(String match) 24 { 25 if (match == null) 26 { 27 throw new NullPointerException ("@Converting(match==null)"); 28 } 29 this.match = match; 30 this.type = Void .class; 31 this.impl = Void .class; 32 } 33 34 public ConvertingImpl(Class type) 35 { 36 if (type == null) 37 { 38 throw new NullPointerException ("@Converting(type==null)"); 39 } 40 this.match = ""; 41 this.type = type; 42 this.impl = Void .class; 43 } 44 45 public ConvertingImpl(Class type, Class impl) 46 { 47 if (type == null) 48 { 49 throw new NullPointerException ("@Converting(type==null)"); 50 } 51 if (impl == null) 52 { 53 throw new NullPointerException ("@Converting(impl==null)"); 54 } 55 this.match = ""; 56 this.type = type; 57 this.impl = impl; 58 } 59 60 public String match() 61 { 62 return this.match; 63 } 64 65 public Class type() 66 { 67 return this.type; 68 } 69 70 public Class impl() 71 { 72 return this.impl; 73 } 74 75 public Class <? extends Annotation > annotationType() 76 { 77 return Converting.class; 78 } 79 80 public boolean equals(Object t) 81 { 82 if (!(t instanceof Converting)) 83 { 84 return false; 85 } 86 87 Converting that = (Converting) t; 88 return this.match.equals(that.match()) 89 && this.type.equals(that.type()) 90 && this.impl.equals(that.impl()); 91 } 92 93 public int hashCode() 94 { 95 return (127 * "match".hashCode() ^ match.hashCode()) 97 + (127 * "type".hashCode() ^ type.hashCode()) 98 + (127 * "impl".hashCode() ^ impl.hashCode()); 99 } 100 101 public String toString() 102 { 103 return "@" + Converting.class.getName() + 104 "(match=" + match + 105 ",type=" + type.getName() + 106 ",impl=" + impl.getName() + 107 ")"; 108 } 109 110 private final String match; 111 private final Class type; 112 private final Class impl; 113 } 114 | Popular Tags |