package com.lexicalscope.fluentreflection;
import static ch.lambdaj.Lambda.join;
import java.lang.reflect.Field;
import java.lang.reflect.Member;
public class IllegalArgumentRuntimeException extends ReflectionRuntimeException {
private static final long serialVersionUID = -2532532215028572886L;
public IllegalArgumentRuntimeException() {
super();
}
public IllegalArgumentRuntimeException(final String message, final Throwable cause) {
super(message, cause);
}
public IllegalArgumentRuntimeException(final String message) {
super(message);
}
public IllegalArgumentRuntimeException(final Throwable cause) {
super(cause);
}
public IllegalArgumentRuntimeException(
final IllegalArgumentException e,
final Member member,
final Object instance,
final Object[] arguments) {
this(String.format(
"when calling %s on %s with %s : %s",
member,
instance,
join(arguments, ", "),
e.getMessage()), e);
}
public IllegalArgumentRuntimeException(final IllegalArgumentException e, final Field field, final Object instance) {
this(String.format(
"when reading %s on %s : %s",
field,
instance,
e.getMessage()), e);
}
}