package com.constellio.model.utils;
import java.util.List;
public class ParametrizedInstanceUtilsRuntimeException extends RuntimeException {
public ParametrizedInstanceUtilsRuntimeException(String message) {
super(message);
}
public ParametrizedInstanceUtilsRuntimeException(String message, Throwable cause) {
super(message, cause);
}
public ParametrizedInstanceUtilsRuntimeException(Throwable cause) {
super(cause);
}
public static class InstanceIsNotSublassOfRequiredType extends ParametrizedInstanceUtilsRuntimeException {
public InstanceIsNotSublassOfRequiredType(Object object, Class<?> clazz, Exception e) {
super("Object of class '" + object.getClass().getName() + "' must be subclass of type '" + clazz.getName() + "'", e);
}
}
public static class NoSuchConstructor extends ParametrizedInstanceUtilsRuntimeException {
public NoSuchConstructor(Class<?> typeClass, List<Class<?>> argumentsClasses, Exception e) {
super("No such constructor in class '" + typeClass.getName() + "' with arguments '" + argumentsClasses + "'", e);
}
}
public static class UnsupportedArgument extends ParametrizedInstanceUtilsRuntimeException {
public UnsupportedArgument(Class<?> typeClass) {
super("Parameter of type " + typeClass.getName() + " is not supported");
}
}
public static class CannotInstanciate extends ParametrizedInstanceUtilsRuntimeException {
public <T extends Parametrized> CannotInstanciate(String name, Exception e) {
super("Cannot instanciate class '" + name
+ "', make sure the constructor and class are public and that the class is not abstract", e);
}
}
}