No: JsonNode trees are not subject to most processing that is applied
for POJOs, since inclusion criteria
is defined for POJO properties, and nodes are not considered POJOs in
this context.
I realize that this is confusing as basically there are really
multiple kinds of Java objects (POJOs and
JsonNode differ, but Maps are yet another class... so at least 3) with
diffierent processing models.
Much of this is due to backend handlers being different, although part
has to do with intended semantics too.
My thinking from beginning has been that JsonNode is meant to
represent JSON contents 1-to-1, with no
changes or distortions, whereas POJO mapping is designed to apply
various minor translations, in order to
bridge the so-called impedance (Java object model, JSON model
differing). This made sense to me, but I can
see that it may not make sense to others, or could be matter of preference too.
For Jackson 3.x it would be good to figure out how to define rules
that are simpler (if possible), and applicability.
I have some ideas on how that could work, esp. by "Class categories";
ability to define settings for "kinds" (categories)
of classes -- like, "all Collections" or "all scalar types". If so,
inclusion criteria could also be specified separately for
"all JsonNodes".
For Jackson 2.x it is probably not possible to change things much
since existing behavior is what users count on,
and changes could lead to regression in existing application code.
I hope this helps.
-+ Tatu +-