package de.galan.verjson.core;
import static org.apache.commons.lang3.StringUtils.*;
import de.galan.verjson.util.ReadException;
/**
* The namespace of the element to process is not equal to the namespace defined for this verjson instance.
*
* @author daniel
*/
public class NamespaceMismatchException extends ReadException {
private String namespaceDefined;
private String namespaceGiven;
public NamespaceMismatchException(String namespaceDefined, String namespaceGiven) {
super(generateMessage(namespaceDefined, namespaceGiven));
this.namespaceDefined = namespaceDefined;
this.namespaceGiven = namespaceGiven;
}
protected static String generateMessage(String namespaceDefined, String namespaceGiven) {
StringBuffer buffer = new StringBuffer();
buffer.append("Verjson only supports ");
if (isBlank(namespaceDefined)) {
buffer.append("empty namespace");
}
else {
buffer.append("namespace '" + namespaceDefined + "'");
}
buffer.append(", element has ");
if (isBlank(namespaceGiven)) {
buffer.append("no namespace");
}
else {
buffer.append("namespace '" + namespaceGiven + "'");
}
return buffer.toString();
}
public String getNamespaceDefined() {
return namespaceDefined;
}
public String getNamespaceGiven() {
return namespaceGiven;
}
}