@Target({ANNOTATION_TYPE,TYPE}) @Retention(RUNTIME) public @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)
  • Element Details

    • getterVisibility

      JsonAutoDetect.Visibility getterVisibility
      Minimum visibility required for auto-detecting regular getter methods.
      Default:
      DEFAULT
    • isGetterVisibility

      JsonAutoDetect.Visibility isGetterVisibility
      Minimum visibility required for auto-detecting is-getter methods.
      Default:
      DEFAULT
    • setterVisibility

      JsonAutoDetect.Visibility setterVisibility
      Minimum visibility required for auto-detecting setter methods.
      Default:
      DEFAULT
    • creatorVisibility

      JsonAutoDetect.Visibility creatorVisibility
      Minimum visibility required for auto-detecting Creator methods, except for no-argument constructors (which are always detected no matter what).
      Default:
      DEFAULT
    • fieldVisibility

      JsonAutoDetect.Visibility fieldVisibility
      Minimum visibility required for auto-detecting member fields.
      Default:
      DEFAULT