@@ -0,0 +1,960 @@
+package roxcdi.parameter;%0A%0Apublic class PropertyValueException extends IllegalArgumentException %7B%0A%09private static final long serialVersionUID = 4734036992777816448L;%0A%09%0A%09private String invalidValue ;%0A%09private Class%3C?%3E type ;%0A%09%0A%09public PropertyValueException(String propertyName, String invalidValue, Class%3C?%3E type) %7B%0A%09%09super(%22%5B%22+propertyName+%22%5D Invalid value for type %22+ typeName(type) +%22: %22+ invalidValue) ;%0A%09%09this.invalidValue = invalidValue ;%0A%09%09this.type = type ;%0A%09%7D%0A%09%0A%09public PropertyValueException(String propertyName, String invalidValue, Class%3C?%3E type, Throwable cause) %7B%0A%09%09super(%22%5B%22+propertyName+%22%5D Invalid value for type %22+ typeName(type) +%22: %22+ invalidValue, cause) ;%0A%09%09this.invalidValue = invalidValue ;%0A%09%09this.type = type ;%0A%09%7D%0A%09%0A%09static String typeName(Class%3C?%3E type) %7B%0A%09%09return type.getName().replaceFirst(%22%5Ejava%5C%5C.lang%5C%5C.%22, %22%22);%0A%09%7D%0A%0A%09public String getInvalidValue() %7B%0A%09%09return invalidValue;%0A%09%7D%0A%09%0A%09public Class%3C?%3E getType() %7B%0A%09%09return type;%0A%09%7D%0A%09%0A%7D%0A

check type exception