diff --git a/src/main/java/com/fasterxml/jackson/databind/DatabindException.java b/src/main/java/com/fasterxml/jackson/databind/DatabindException.java
index 5c58018b48..460c3ce86a 100644
--- a/src/main/java/com/fasterxml/jackson/databind/DatabindException.java
+++ b/src/main/java/com/fasterxml/jackson/databind/DatabindException.java
@@ -33,4 +33,16 @@ protected DatabindException(String msg, JsonLocation loc) {
protected DatabindException(String msg, Throwable rootCause) {
this(msg, null, rootCause);
}
+
+ /**
+ * Method called to prepend a reference information in front of
+ * current path
+ */
+ public abstract void prependPath(Object referrer, String fieldName);
+
+ /**
+ * Method called to prepend a reference information in front of
+ * current path
+ */
+ public abstract void prependPath(Object referrer, int index);
}
diff --git a/src/main/java/com/fasterxml/jackson/databind/JsonMappingException.java b/src/main/java/com/fasterxml/jackson/databind/JsonMappingException.java
index 1ab292e2ed..508e4cd84e 100644
--- a/src/main/java/com/fasterxml/jackson/databind/JsonMappingException.java
+++ b/src/main/java/com/fasterxml/jackson/databind/JsonMappingException.java
@@ -32,9 +32,9 @@ public class JsonMappingException
final static int MAX_REFS_TO_LIST = 1000;
/*
- /**********************************************************
+ /**********************************************************************
/* Helper classes
- /**********************************************************
+ /**********************************************************************
*/
/**
@@ -173,9 +173,9 @@ Object writeReplace() {
}
/*
- /**********************************************************
+ /**********************************************************************
/* State/configuration
- /**********************************************************
+ /**********************************************************************
*/
/**
@@ -193,11 +193,11 @@ Object writeReplace() {
* @since 2.7
*/
protected transient Closeable _processor;
-
+
/*
- /**********************************************************
+ /**********************************************************************
/* Life-cycle
- /**********************************************************
+ /**********************************************************************
*/
/**
@@ -326,7 +326,7 @@ public static JsonMappingException from(SerializerProvider ctxt, String msg, Thr
*
* NOTE: since 2.9 should usually NOT be used on input-side (deserialization)
* exceptions; instead use method(s) of InputMismatchException
- *
+ *
* @since 2.1
*/
public static JsonMappingException fromUnexpectedIOE(IOException src) {
@@ -394,9 +394,9 @@ public static JsonMappingException wrapWithPath(Throwable src, Reference ref)
}
/*
- /**********************************************************
+ /**********************************************************************
/* Accessors/mutators
- /**********************************************************
+ /**********************************************************************
*/
/**
@@ -430,19 +430,18 @@ public StringBuilder getPathReference(StringBuilder sb)
* Method called to prepend a reference information in front of
* current path
*/
- public void prependPath(Object referrer, String fieldName)
- {
- Reference ref = new Reference(referrer, fieldName);
- prependPath(ref);
+ @Override
+ public void prependPath(Object referrer, String fieldName) {
+ prependPath(new Reference(referrer, fieldName));
}
+
/**
* Method called to prepend a reference information in front of
* current path
*/
- public void prependPath(Object referrer, int index)
- {
- Reference ref = new Reference(referrer, index);
- prependPath(ref);
+ @Override
+ public void prependPath(Object referrer, int index) {
+ prependPath(new Reference(referrer, index));
}
public void prependPath(Reference r)
@@ -458,14 +457,14 @@ public void prependPath(Reference r)
_path.addFirst(r);
}
}
-
+
/*
- /**********************************************************
+ /**********************************************************************
/* Overridden methods
- /**********************************************************
+ /**********************************************************************
*/
- @Override // since 2.7.5
+ @Override // since 2.8
@JsonIgnore // as per [databind#1368]
public Object getProcessor() { return _processor; }
@@ -509,9 +508,9 @@ public String toString()
}
/*
- /**********************************************************
+ /**********************************************************************
/* Internal methods
- /**********************************************************
+ /**********************************************************************
*/
protected void _appendPathDesc(StringBuilder sb)
diff --git a/src/main/java/com/fasterxml/jackson/databind/deser/impl/PropertyValueBuffer.java b/src/main/java/com/fasterxml/jackson/databind/deser/impl/PropertyValueBuffer.java
index 95fa25e622..2f70a2ebe9 100644
--- a/src/main/java/com/fasterxml/jackson/databind/deser/impl/PropertyValueBuffer.java
+++ b/src/main/java/com/fasterxml/jackson/databind/deser/impl/PropertyValueBuffer.java
@@ -4,6 +4,7 @@
import java.util.BitSet;
import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.databind.DatabindException;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.JsonDeserializer;
@@ -209,7 +210,7 @@ protected Object _findMissing(SettableBeanProperty prop) throws JsonMappingExcep
// Fourth: default value
JsonDeserializer