FasterXML / FasterXML/java-classmate
AnnotatedType support
- Lingua principale
- Java
- Stelle
- 266
- Fork
- 47
- Merge medio
- 1h 42m
- PR unite (30g)
- 1
Descrizione
New to Java 8, the AnnotatedType class carries annotations bind to types in Generic expressions.
So if I write
```
@MaxLength(3) List<@NotNull Integer> myField;
```
I can get the `@NotNull` annotation via something like:
```
Field f = MyClass.class.getDeclaredField("myField");
AnnotatedParameterizedType annType = (AnnotatedParameterizedType) field.getAnnotatedType();
AnnotatedType[] childAnnotatedTypes = annType.getAnnotatedActualTypeArguments();
```
But then I have to assume the parameter I want is the first in the returned array. But maybe I have something like
```
class MyFunnyList implements List<@NotNull Integer> {}
// ...
private MyFunnyList<@Null String> myFunnyField;
```
Using `ResolvedType`, I can call `type.typeParametersFor(List.class).get(0)` to get the correct parameter type (`Integer` rather than `String`). It'd be nice to have also a way to retrieve the annotations associated with it (`@NotNull` rather than `@Null`). Note that this feature must not break support for Java 7, so some type of switch will probably need to be used.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Valutazione
Questa issue non è ancora stata valutata.