1 16 17 package com.google.inject; 18 19 import java.lang.reflect.Member ; 20 21 26 class ConstantConversionException extends Exception { 27 28 ConstantConversionException(Member member, Key<?> key, String value, 29 String reason) { 30 super(createMessage(value, key, member, reason)); 31 } 32 33 ConstantConversionException(Member member, Key<?> key, String value, 34 Throwable reason) { 35 this(member, key, value, reason.toString()); 36 } 37 38 static String createMessage(String value, Key<?> key, Member member, 39 String reason) { 40 String annotationMessage = key.hasAnnotationType() 41 ? " annotated with " + key.getAnnotationName() 42 : ""; 43 44 return member == null 45 ? "Error converting '" + value + "' to " 46 + key.getRawType().getSimpleName() 47 + " while getting binding value" + annotationMessage 48 + ". Reason: " + reason 49 : "Error converting '" + value + "' to " 50 + key.getRawType().getSimpleName() + " while injecting " 51 + member.getName() + " with binding value" + annotationMessage 52 + " required by " + member.getDeclaringClass().getSimpleName() 53 + ". Reason: " + reason; 54 } 55 } 56 | Popular Tags |