| package org.codehaus.jackson.annotate; |
| |
| import java.lang.annotation.ElementType; |
| import java.lang.annotation.Retention; |
| import java.lang.annotation.RetentionPolicy; |
| import java.lang.annotation.Target; |
| |
| /** |
| * Annotation that can be used to either suppress serialization of |
| * properties (during serialization), or ignore processing of |
| * JSON properties read (during deserialization). |
| *<p> |
| * Example: |
| *<pre> |
| * // to prevent specified fields from being serialized or deserialized |
| * // (i.e. not include in JSON output; or being set even if they were included) |
| * \@JsonIgnoreProperties({ "internalId", "secretKey" }) |
| * // To ignore any unknown properties in JSON input without exception: |
| * \@JsonIgnoreProperties(ignoreUnknown=true) |
| *</pre> |
| *<p> |
| * Only applicable to classes, not for properties (getters, setters, fields). |
| * |
| * @since 1.4 |
| */ |
| @Target({ElementType.TYPE}) |
| @Retention(RetentionPolicy.RUNTIME) |
| @JacksonAnnotation |
| public @interface JsonIgnoreProperties |
| { |
| /** |
| * Names of properties to ignore. |
| */ |
| public String[] value() default { }; |
| |
| /** |
| * Property that defines whether it is ok to just ignore any |
| * unrecognized properties during deserialization. |
| * If true, all properties that are unrecognized -- that is, |
| * there are no setters or creators that accept them -- are |
| * ignored without warnings (although handlers for unknown |
| * properties, if any, will still be called) without |
| * exception. |
| *<p> |
| * Does not have any effect on serialization. |
| */ |
| public boolean ignoreUnknown() default false; |
| } |