package org.jboss.seam.rest.exceptions;
/**
* Represents a mapping of an exception to an HTTP status code and response body.
*
* @author <a href="http://community.jboss.org/people/jharting">Jozef Hartinger</a>
*/
public class Mapping {
private Class<? extends Throwable> exceptionType;
private int statusCode;
private String message;
private boolean interpolateMessageBody = true;
private boolean useExceptionMessage = false;
private boolean useJaxb = true;
public Mapping() {
}
public Mapping(Class<? extends Throwable> exceptionType, int statusCode) {
this.exceptionType = exceptionType;
this.statusCode = statusCode;
}
public Mapping(Class<? extends Throwable> exceptionType, int statusCode, String message, boolean useExceptionMessage,
boolean interpolateMessageBody, boolean useJaxb) {
this(exceptionType, statusCode);
this.message = message;
this.useExceptionMessage = useExceptionMessage;
this.interpolateMessageBody = interpolateMessageBody;
this.useJaxb = useJaxb;
}
public Class<? extends Throwable> getExceptionType() {
return exceptionType;
}
public void setExceptionType(Class<? extends Throwable> exceptionType) {
this.exceptionType = exceptionType;
}
public int getStatusCode() {
return statusCode;
}
public void setStatusCode(int statusCode) {
this.statusCode = statusCode;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public boolean isInterpolateMessageBody() {
return interpolateMessageBody;
}
public void setInterpolateMessageBody(boolean interpolateMessageBody) {
this.interpolateMessageBody = interpolateMessageBody;
}
public boolean isUseExceptionMessage() {
return useExceptionMessage;
}
public void setUseExceptionMessage(boolean useExceptionMessage) {
this.useExceptionMessage = useExceptionMessage;
}
public boolean isUseJaxb() {
return useJaxb;
}
public void setUseJaxb(boolean useJaxb) {
this.useJaxb = useJaxb;
}
@Override
public String toString() {
return "ExceptionMapping: " + exceptionType.getCanonicalName() + " --> (" + statusCode + ", " + message + ")";
}
}