1 16 17 package com.google.inject.name; 18 19 import java.lang.annotation.Annotation ; 20 import com.google.inject.util.Objects; 21 import com.google.inject.name.Named; 22 23 class NamedImpl implements Named { 24 25 final String value; 26 27 public NamedImpl(String value) { 28 this.value = Objects.nonNull(value, "name"); 29 } 30 31 public String value() { 32 return this.value; 33 } 34 35 public int hashCode() { 36 return 127 * "value".hashCode() ^ value.hashCode(); 38 } 39 40 public boolean equals(Object o) { 41 if (!(o instanceof Named)) { 42 return false; 43 } 44 45 Named other = (Named) o; 46 return value.equals(other.value()); 47 } 48 49 public String toString() { 50 return "@" + Named.class.getName() + "(value=" + value + ")"; 51 } 52 53 public Class <? extends Annotation > annotationType() { 54 return Named.class; 55 } 56 } 57 | Popular Tags |