@Target(TYPE)
@Retention(RUNTIME)
public @interface JsonAutoDetect
Pseudo-value NONE
means that all auto-detection is disabled
for the specific class that annotation is applied to (including
its super-types, but only when resolving that class).
Pseudo-value ALWAYS
means that auto-detection is enabled
for all method types for the class in similar way.
The default value is ALWAYS
: that is, by default, auto-detection
is enabled for all classes unless instructed otherwise.
Starting with version 1.5, it is also possible to use more fine-grained definitions, to basically define minimum visibility level needed. Defaults are different for different types (getters need to be public; setters can have any access modifier, for example).
Modifier and Type | Optional Element | Description |
---|---|---|
JsonAutoDetect.Visibility |
creatorVisibility |
Minimum visibility required for auto-detecting Creator methods,
except for no-argument constructors (which are always detected
no matter what).
|
JsonAutoDetect.Visibility |
fieldVisibility |
Minimum visibility required for auto-detecting member fields.
|
JsonAutoDetect.Visibility |
getterVisibility |
Minimum visibility required for auto-detecting regular getter methods.
|
JsonAutoDetect.Visibility |
isGetterVisibility |
Minimum visibility required for auto-detecting is-getter methods.
|
JsonAutoDetect.Visibility |
setterVisibility |
Minimum visibility required for auto-detecting setter methods.
|
JsonMethod[] |
value |
Types of property elements (getters, setters, fields, creators) that
can be auto-detected.
|
JsonMethod[] value
JsonAutoDetect.Visibility getterVisibility
JsonAutoDetect.Visibility isGetterVisibility
JsonAutoDetect.Visibility setterVisibility
JsonAutoDetect.Visibility creatorVisibility
JsonAutoDetect.Visibility fieldVisibility