Remove `getGenericType()` methods (deprecated since 2.7), bring back introspection for some JDK types
diff --git a/src/main/java/com/fasterxml/jackson/databind/introspect/Annotated.java b/src/main/java/com/fasterxml/jackson/databind/introspect/Annotated.java
index fce7b9e..e373c72 100644
--- a/src/main/java/com/fasterxml/jackson/databind/introspect/Annotated.java
+++ b/src/main/java/com/fasterxml/jackson/databind/introspect/Annotated.java
@@ -3,10 +3,8 @@
import java.lang.annotation.Annotation;
import java.lang.reflect.AnnotatedElement;
import java.lang.reflect.Modifier;
-import java.lang.reflect.Type;
import com.fasterxml.jackson.databind.JavaType;
-import com.fasterxml.jackson.databind.type.TypeBindings;
/**
* Shared base class used for anything on which annotations (included
@@ -49,28 +47,6 @@
public abstract JavaType getType();
/**
- * @deprecated Since 2.7 Use {@link #getType()} instead. To be removed from 2.9
- */
- @Deprecated
- public final JavaType getType(TypeBindings bogus) {
- return getType();
- }
-
- /**
- * JDK declared generic type of the annotated element; definition
- * of what exactly this means depends on sub-class. Note that such type
- * cannot be reliably resolved without {@link TypeResolutionContext}, and
- * as a result use of this method was deprecated in Jackson 2.7: see
- * {@link #getType} for replacement.
- *
- * @deprecated Since 2.7 should instead use {@link #getType()}. To be removed from 2.9
- */
- @Deprecated
- public Type getGenericType() {
- return getRawType();
- }
-
- /**
* "Raw" type (type-erased class) of the annotated element; definition
* of what exactly this means depends on sub-class.
*/
diff --git a/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotatedClassResolver.java b/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotatedClassResolver.java
index ce90f9c..ae47d67 100644
--- a/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotatedClassResolver.java
+++ b/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotatedClassResolver.java
@@ -57,7 +57,9 @@
_primaryMixin = (r == null) ? null : r.findMixInClassFor(_class);
// Also... JDK types do not have annotations that are of interest to us
- _collectAnnotations = (_intr != null) && !ClassUtil.isJDKClass(_class);
+ // At least JDK container types
+ _collectAnnotations = (_intr != null) &&
+ (!ClassUtil.isJDKClass(_class) || !_type.isContainerType());
}
AnnotatedClassResolver(MapperConfig<?> config, Class<?> cls, MixInResolver r) {
@@ -75,7 +77,7 @@
_primaryMixin = (r == null) ? null : r.findMixInClassFor(_class);
}
- _collectAnnotations = (_intr != null) && !ClassUtil.isJDKClass(_class);
+ _collectAnnotations = (_intr != null);
}
public static AnnotatedClass resolve(MapperConfig<?> config, JavaType forType,
diff --git a/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotatedField.java b/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotatedField.java
index b81c51e..e905f95 100644
--- a/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotatedField.java
+++ b/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotatedField.java
@@ -75,12 +75,6 @@
return _field.getType();
}
- @Deprecated
- @Override
- public Type getGenericType() {
- return _field.getGenericType();
- }
-
@Override
public JavaType getType() {
return _typeContext.resolveType(_field.getGenericType());
diff --git a/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotatedMethod.java b/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotatedMethod.java
index 2338987..f6d6a99 100644
--- a/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotatedMethod.java
+++ b/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotatedMethod.java
@@ -87,12 +87,6 @@
return _method.getReturnType();
}
- @Deprecated
- @Override
- public Type getGenericType() {
- return _method.getGenericReturnType();
- }
-
/*
/*****************************************************
/* AnnotatedWithParams
diff --git a/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotatedParameter.java b/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotatedParameter.java
index 9835c35..f38ab57 100644
--- a/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotatedParameter.java
+++ b/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotatedParameter.java
@@ -93,12 +93,6 @@
return _type;
}
- @Deprecated
- @Override
- public Type getGenericType() {
- return _owner.getGenericParameterType(_index);
- }
-
/*
/**********************************************************
/* AnnotatedMember extras
@@ -112,9 +106,8 @@
@Override
public Member getMember() {
- /* This is bit tricky: since there is no JDK equivalent; can either
- * return null or owner... let's do latter, for now.
- */
+ // This is bit tricky: since there is no JDK equivalent; can either
+ // return null or owner... let's do latter, for now.
return _owner.getMember();
}