Package com.fasterxml.jackson.annotation
Annotation Interface JsonAutoDetect
Class annotation that can be used to define which kinds of Methods
are to be detected by auto-detection, and with what minimum access level.
Auto-detection means using name conventions
and/or signature templates to find methods to use for data binding.
For example, so-called "getters" can be auto-detected by looking for
public member methods that return a value, do not take argument,
and have prefix "get" in their name.
Default setting for all accessors is JsonAutoDetect.Visibility.DEFAULT
, which
in turn means that the global defaults are used. Defaults
are different for different accessor types (getters need to be public;
setters can have any access modifier, for example).
If you assign different JsonAutoDetect.Visibility
type then it will override
global defaults: for example, to require that all setters must be public,
you would use:
@JsonAutoDetect(setterVisibility=Visibility.PUBLIC_ONLY)
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
Helper class used to contain information from a singleJsonAutoDetect
annotation, as well as to provide possible overrides from non-annotation sources.static enum
Enumeration for possible visibility thresholds (minimum visibility) that can be used to limit which methods (and fields) are auto-detected. -
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescriptionMinimum visibility required for auto-detecting Creator methods, except for no-argument constructors (which are always detected no matter what), and (since 3.0) single-scalar-argument Creators for which there is separate setting.Minimum visibility required for auto-detecting member fields.Minimum visibility required for auto-detecting regular getter methods.Minimum visibility required for auto-detecting is-getter methods.Minimum visibility required for auto-detecting single-scalar-argument constructors, as distinct from "regular" creators (seecreatorVisibility()
).Minimum visibility required for auto-detecting setter methods.
-
Element Details
-
getterVisibility
JsonAutoDetect.Visibility getterVisibilityMinimum visibility required for auto-detecting regular getter methods.- Default:
- DEFAULT
-
isGetterVisibility
JsonAutoDetect.Visibility isGetterVisibilityMinimum visibility required for auto-detecting is-getter methods.- Default:
- DEFAULT
-
setterVisibility
JsonAutoDetect.Visibility setterVisibilityMinimum visibility required for auto-detecting setter methods.- Default:
- DEFAULT
-
creatorVisibility
JsonAutoDetect.Visibility creatorVisibilityMinimum visibility required for auto-detecting Creator methods, except for no-argument constructors (which are always detected no matter what), and (since 3.0) single-scalar-argument Creators for which there is separate setting.- Default:
- DEFAULT
-
scalarConstructorVisibility
JsonAutoDetect.Visibility scalarConstructorVisibilityMinimum visibility required for auto-detecting single-scalar-argument constructors, as distinct from "regular" creators (seecreatorVisibility()
). Specifically a small set of scalar types is allowed; seePropertyAccessor.SCALAR_CONSTRUCTOR
for list.Default value is more permissive than that of general Creators: all non-private scalar-constructors are detected by default.
- Since:
- 3.0
- Default:
- DEFAULT
-
fieldVisibility
JsonAutoDetect.Visibility fieldVisibilityMinimum visibility required for auto-detecting member fields.- Default:
- DEFAULT
-