JsonInvalidPathException.java
package com.github.dakusui.json;
import com.google.gson.JsonElement;
import java.io.Serial;
import java.util.Arrays;
public class JsonInvalidPathException extends JsonException {
/**
* A serial version UID string.
*/
@Serial
private static final long serialVersionUID = 7832147182391783569L;
protected String formatMessage(JsonElement base, Object[] path) {
return String.format("This element (%s) doesn't have path: %s", JsonSummarizer.focusedElement(base), Arrays.toString(path));
}
private final JsonElement base;
private final Object[] path;
private final int index;
private final String message;
public JsonInvalidPathException(JsonElement base, Object[] path, int index) {
super(base);
this.message = formatMessage(base, path);
this.base = base;
this.path = path;
this.index = index;
}
public JsonInvalidPathException(JsonElement base, Object[] path) {
this(base, path, 0);
}
public JsonElement getProblemCausingNode() {
return base;
}
public Object[] getPath() {
return path;
}
public int getIndex() {
return this.index;
}
@Override
public String getMessage() {
return this.message;
}
}