As per my other note, this would need to be in Jackson 3.0 I think,
due to multiple reasons.
I am bit hesitant to say much more since I really fear all complexity
that would come from trying
to create parallel annotation processing system. I can see some
benefits from type annotations,
but it wouldn't come for free, if we are talking about whole
AnnotationIntrospector style system.
However: if the idea would be to do something simpler -- I don't
really see need for full AnnotationIntrospector
in this case, to be honest -- for example, simply keep track of
annotations for type, offer access... well,
that seems quite doable and useful. If so, `JavaType` could just have
`findAnnotation(Class<?> type)` method
or something?
-+ Tatu +-
>
>
>
>
> On Wednesday, December 27, 2017 at 11:34:37 AM UTC+1, Bojan Tomic wrote:
>>
>> I have a rather exotic use-case that I have to support. Types annotated
>> with @Id need custom deserialization logic, e.g. the value should be Base64
>> decoded before deserializing it (not the only case).
>>
>> This means a type such as List<@Id Key> will be represented as a list of
>> Base64 Strings that I deserialize using my custom logic.
>>
>> I originally have an AnnotatedType that I convert to JavaType using
>> TypeFactory.constructType(annotatedType.getType()) prior to deserialization,
>> which of course looses all the annotations.
>> Later, in my custom Deserializers instance, in its various
>> findXXXDeserializer methods, I have no way to find the correct deserializer
>> as the annotations needed for the decision are gone...
>>
>> I was hoping the JDK8 module would have it's own TypeFactory-like
>> mechanism to construct JavaType subclasses that preserve the annotations
>> from AnnotatedTypes (e.g.
>> AnnotatedTypeFactory.constructType(annotatedType)), but it doesn't seem to
>> be the case.
>>
>> Is there any way at all to implement what I'm after?
>