Package org.codehaus.jackson.annotate
Annotation Interface JsonAutoDetect
Class annotation that can be used to define which kinds of Methods
are to be detected by auto-detection.
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.
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).
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic 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).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 setter methods.Types of property elements (getters, setters, fields, creators) that can be auto-detected.
-
Element Details
-
value
JsonMethod[] valueTypes of property elements (getters, setters, fields, creators) that can be auto-detected. NOTE: as of 1.5, it is recommended that instead of defining this property, distinct visibility properties are used instead. This because levels used with this method are not explicit, but global defaults that differ for different methods. As such, this property can be considered deprecated and only retained for backwards compatibility.- Default:
{ALL}
-
getterVisibility
JsonAutoDetect.Visibility getterVisibilityMinimum visibility required for auto-detecting regular getter methods.- Since:
- 1.5
- Default:
DEFAULT
-
isGetterVisibility
JsonAutoDetect.Visibility isGetterVisibilityMinimum visibility required for auto-detecting is-getter methods.- Since:
- 1.5
- Default:
DEFAULT
-
setterVisibility
JsonAutoDetect.Visibility setterVisibilityMinimum visibility required for auto-detecting setter methods.- Since:
- 1.5
- 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).- Since:
- 1.5
- Default:
DEFAULT
-
fieldVisibility
JsonAutoDetect.Visibility fieldVisibilityMinimum visibility required for auto-detecting member fields.- Since:
- 1.5
- Default:
DEFAULT
-