Fix #109
diff --git a/src/main/java/com/fasterxml/jackson/annotation/JsonAnyGetter.java b/src/main/java/com/fasterxml/jackson/annotation/JsonAnyGetter.java
index 42199b3..cb84f42 100644
--- a/src/main/java/com/fasterxml/jackson/annotation/JsonAnyGetter.java
+++ b/src/main/java/com/fasterxml/jackson/annotation/JsonAnyGetter.java
@@ -20,4 +20,15 @@
@JacksonAnnotation
public @interface JsonAnyGetter
{
+ /**
+ * 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.
+ *
+ * @since 2.9
+ */
+ boolean enabled() default true;
}
diff --git a/src/main/java/com/fasterxml/jackson/annotation/JsonAnySetter.java b/src/main/java/com/fasterxml/jackson/annotation/JsonAnySetter.java
index 0a5d471..3e71265 100644
--- a/src/main/java/com/fasterxml/jackson/annotation/JsonAnySetter.java
+++ b/src/main/java/com/fasterxml/jackson/annotation/JsonAnySetter.java
@@ -6,20 +6,33 @@
import java.lang.annotation.Target;
/**
- * Marker annotation that can be used to define a non-static,
+ * 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), to be used as a "fallback" handler
+ * to set) or a field (of type {@link java.util.Map} or POJO) -
+ * to be used as a "fallback" handler
* for all otherwise unrecognized properties found from JSON content.
* It is similar to {@link javax.xml.bind.annotation.XmlAnyElement}
* in behavior; and can only be used to denote a single property
* per type.
*<p>
* If used, all otherwise unmapped key-value pairs from JSON Object values
- * are added to the property (of type Map or bean).
+ * are added using mutator.
*/
@Target({ElementType.ANNOTATION_TYPE, ElementType.METHOD, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@JacksonAnnotation
public @interface JsonAnySetter
{
+ /**
+ * 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.
+ *
+ * @since 2.9
+ */
+ boolean enabled() default true;
}