package com.processpuzzle.fitnesse.persistence;
import com.processpuzzle.commons.persistence.Repository;
import com.processpuzzle.fundamental_types.domain.ExceptionHelper;
import com.processpuzzle.fundamental_types.domain.ProcessPuzzleException;
public class RepositoryMethodExecutionException extends ProcessPuzzleException {
private static final long serialVersionUID = -862227497255341272L;
private static final String defaultMessage = "Repository ''{0}'' thrown exception when executing method ''{1}'' with parameters ''{2}''.";
private final Class<? extends Repository<?>> repositoryClass;
private final String methodName;
private final String parameters;
public RepositoryMethodExecutionException( Class<? extends Repository<?>> repositoryClass, String methodName, String parameters, Throwable cause ) {
super( ExceptionHelper.defineMessage(
NoSuchRepositoryMethodException.class, new Object[] {repositoryClass.getName(), methodName, parameters }, defaultMessage ), cause );
this.repositoryClass = repositoryClass;
this.methodName = methodName;
this.parameters = parameters;
}
public String getMethodName() {
return methodName;
}
public String getParameters() {
return parameters;
}
public Class<? extends Repository<?>> getRepositoryClass() {
return repositoryClass;
}
}