Annotation Type JsonAnySetter


  • @Target({ANNOTATION_TYPE,METHOD,FIELD})
    @Retention(RUNTIME)
    public @interface JsonAnySetter
    Marker annotation that can be used to define a logical "any setter" mutator -- either using non-static two-argument method (first argument name of property, second value to set) or a field (of type Map or POJO) - to be used as a "fallback" handler for all otherwise unrecognized properties found from JSON content. It is similar to javax.xml.bind.annotation.XmlAnyElement in behavior; and can only be used to denote a single property per type.

    If used, all otherwise unmapped key-value pairs from JSON Object values are added using mutator.

    NOTE: ability to annotated fields was added in version 2.8; earlier only methods could be annotated.

    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element Description
      boolean enabled
      Optional argument that defines whether this annotation is active or not.
    • Element Detail

      • enabled

        boolean enabled
        Optional argument that defines whether this annotation is active or not. The only use for value 'false' if for overriding purposes. Overriding may be necessary when used with "mix-in annotations" (aka "annotation overrides"). For most cases, however, default value of "true" is just fine and should be omitted.
        Returns:
        True if annotation is enabled (normal case); false if it is to be ignored (only useful for mix-in annotations to "mask" annotation)
        Since:
        2.9
        Default:
        true