change 'findParameter
diff --git a/release-notes/VERSION b/release-notes/VERSION
index 56c5c0d..7d8dd87 100644
--- a/release-notes/VERSION
+++ b/release-notes/VERSION
@@ -11,7 +11,7 @@
(reported by Stuart J, sgjohnston@github)
#323: Serialization of the field with deserialization config
(reported by metanet@github)
-#327: Should not consider explicitly differing renames a fail, as long as all are explici
+#327: Should not consider explicitly differing renames a fail, as long as all are explicit
#335: Allow use of `@JsonPropertyOrder(alphabetic=true)` for Map properties
#352 Add `ObjectMapper.setConfig()` for overriding `SerializationConfig`/`DeserializationConfig`
#353: Problems with polymorphic types, `JsonNode` (related to #88)
diff --git a/src/main/java/com/fasterxml/jackson/databind/AnnotationIntrospector.java b/src/main/java/com/fasterxml/jackson/databind/AnnotationIntrospector.java
index 5b22501..70b32d4 100644
--- a/src/main/java/com/fasterxml/jackson/databind/AnnotationIntrospector.java
+++ b/src/main/java/com/fasterxml/jackson/databind/AnnotationIntrospector.java
@@ -502,18 +502,19 @@
public Integer findPropertyIndex(Annotated ann) { return null; }
/**
- * Method for finding parameter name used in source code, and typically
- * not indicated by an annotation (which is ironic considering the context).
- * The reason for including method here is that of convenience; while
- * it is not part of annotation handling, it is closely related to
- * property introspection project. {@link AnnotationIntrospector} handling
- * is also one of limited number of truly pluggable extension points, making
- * it ideal from developer perspective; even at the expense of strict
- * naming consistency.
+ * Method for finding implicit name for a property that given annotated
+ * member (field, method, creator parameter) may represent.
+ * This is different from explicit, annotation-based property name, in that
+ * it is "weak" and does not either proof that a property exists (for example,
+ * if visibility is not high enough), or override explicit names.
+ * In practice this method is used to introspect optional names for creator
+ * parameters (which may or may not be available and can not be detected
+ * by standard databind); or to provide alternate name mangling for
+ * fields, getters and/or setters.
*
* @since 2.4
*/
- public String findParameterSourceName(AnnotatedParameter param) { return null; }
+ public String findImplicitPropertyName(AnnotatedMember member) { return null; }
/*
/**********************************************************
diff --git a/src/main/java/com/fasterxml/jackson/databind/deser/BasicDeserializerFactory.java b/src/main/java/com/fasterxml/jackson/databind/deser/BasicDeserializerFactory.java
index 3cacc3c..0c8966c 100644
--- a/src/main/java/com/fasterxml/jackson/databind/deser/BasicDeserializerFactory.java
+++ b/src/main/java/com/fasterxml/jackson/databind/deser/BasicDeserializerFactory.java
@@ -716,7 +716,7 @@
/* 14-Apr-2014, tatu: Need to also consider possible implicit name
* (for JDK8, or via paranamer)
*/
- String str = intr.findParameterSourceName(param);
+ String str = intr.findImplicitPropertyName(param);
if (str != null && !str.isEmpty()) {
return new PropertyName(str);
}
diff --git a/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotationIntrospectorPair.java b/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotationIntrospectorPair.java
index 1593a92..f2b6450 100644
--- a/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotationIntrospectorPair.java
+++ b/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotationIntrospectorPair.java
@@ -435,9 +435,9 @@
}
@Override
- public String findParameterSourceName(AnnotatedParameter param) {
- String r = _primary.findParameterSourceName(param);
- return (r == null) ? _secondary.findParameterSourceName(param) : r;
+ public String findImplicitPropertyName(AnnotatedMember param) {
+ String r = _primary.findImplicitPropertyName(param);
+ return (r == null) ? _secondary.findImplicitPropertyName(param) : r;
}
// // // Serialization: class annotations
diff --git a/src/main/java/com/fasterxml/jackson/databind/introspect/BasicBeanDescription.java b/src/main/java/com/fasterxml/jackson/databind/introspect/BasicBeanDescription.java
index f88640b..098c99c 100644
--- a/src/main/java/com/fasterxml/jackson/databind/introspect/BasicBeanDescription.java
+++ b/src/main/java/com/fasterxml/jackson/databind/introspect/BasicBeanDescription.java
@@ -535,7 +535,7 @@
{
PropertyName name = _annotationIntrospector.findNameForDeserialization(param);
if (name == null || name.isEmpty()) {
- String str = _annotationIntrospector.findParameterSourceName(param);
+ String str = _annotationIntrospector.findImplicitPropertyName(param);
if (str != null && !str.isEmpty()) {
name = new PropertyName(str);
}
diff --git a/src/main/java/com/fasterxml/jackson/databind/introspect/BasicClassIntrospector.java b/src/main/java/com/fasterxml/jackson/databind/introspect/BasicClassIntrospector.java
index bbb0a12..dbab578 100644
--- a/src/main/java/com/fasterxml/jackson/databind/introspect/BasicClassIntrospector.java
+++ b/src/main/java/com/fasterxml/jackson/databind/introspect/BasicClassIntrospector.java
@@ -158,8 +158,7 @@
* to use; override is needed if a custom sub-class is to be used.
*/
protected POJOPropertiesCollector constructPropertyCollector(MapperConfig<?> config,
- AnnotatedClass ac, JavaType type,
- boolean forSerialization, String mutatorPrefix)
+ AnnotatedClass ac, JavaType type, boolean forSerialization, String mutatorPrefix)
{
return new POJOPropertiesCollector(config, forSerialization, type, ac, mutatorPrefix);
}
diff --git a/src/main/java/com/fasterxml/jackson/databind/introspect/ClassIntrospector.java b/src/main/java/com/fasterxml/jackson/databind/introspect/ClassIntrospector.java
index df664ac..7ce48c5 100644
--- a/src/main/java/com/fasterxml/jackson/databind/introspect/ClassIntrospector.java
+++ b/src/main/java/com/fasterxml/jackson/databind/introspect/ClassIntrospector.java
@@ -6,7 +6,6 @@
import com.fasterxml.jackson.databind.SerializationConfig;
import com.fasterxml.jackson.databind.cfg.MapperConfig;
-
/**
* Helper class used to introspect features of POJO value classes
* used with Jackson. The main use is for finding out
diff --git a/src/main/java/com/fasterxml/jackson/databind/introspect/JacksonAnnotationIntrospector.java b/src/main/java/com/fasterxml/jackson/databind/introspect/JacksonAnnotationIntrospector.java
index 19cf647..ca01354 100644
--- a/src/main/java/com/fasterxml/jackson/databind/introspect/JacksonAnnotationIntrospector.java
+++ b/src/main/java/com/fasterxml/jackson/databind/introspect/JacksonAnnotationIntrospector.java
@@ -500,8 +500,9 @@
}
@Override
- public String findParameterSourceName(AnnotatedParameter param) {
- // not known by default (until JDK8); but leave explicit:
+ public String findImplicitPropertyName(AnnotatedMember param) {
+ // not known by default (until JDK8) for creators; default
+ //
return null;
}
diff --git a/src/main/java/com/fasterxml/jackson/databind/introspect/POJOPropertiesCollector.java b/src/main/java/com/fasterxml/jackson/databind/introspect/POJOPropertiesCollector.java
index 5fcb58c..00a2782 100644
--- a/src/main/java/com/fasterxml/jackson/databind/introspect/POJOPropertiesCollector.java
+++ b/src/main/java/com/fasterxml/jackson/databind/introspect/POJOPropertiesCollector.java
@@ -450,7 +450,7 @@
protected void _addCreatorParam(AnnotatedParameter param)
{
// JDK 8, paranamer can give implicit name
- String impl = _annotationIntrospector.findParameterSourceName(param);
+ String impl = _annotationIntrospector.findImplicitPropertyName(param);
if (impl == null) {
impl = "";
}