1 16 17 package com.google.inject.spi; 18 19 import static com.google.inject.util.Objects.nonNull; 20 21 27 public class Message { 28 29 final Object source; 30 final String message; 31 32 public Message(Object source, String message) { 33 this.source = nonNull(source, "source"); 34 this.message = nonNull(message, "message"); 35 } 36 37 public Message(String message) { 38 this(SourceProviders.UNKNOWN_SOURCE, message); 39 } 40 41 44 public Object getSource() { 45 return source; 46 } 47 48 String sourceString = null; 49 50 53 public String getSourceString() { 54 if (sourceString == null) { 55 sourceString = source.toString(); 56 } 57 return sourceString; 58 } 59 60 63 public String getMessage() { 64 return message; 65 } 66 67 public String toString() { 68 return getSourceString() + " " + message; 69 } 70 71 public int hashCode() { 72 return source.hashCode() * 31 + message.hashCode(); 73 } 74 75 public boolean equals(Object o) { 76 if (!(o instanceof Message)) { 77 return false; 78 } 79 Message e = (Message) o; 80 return source.equals(e.source) && message.equals(e.message); 81 } 82 } 83 | Popular Tags |