• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package com.fasterxml.jackson.databind.annotation;
2 
3 import java.lang.annotation.*;
4 
5 import com.fasterxml.jackson.databind.PropertyNamingStrategy;
6 
7 /**
8  * Annotation that can be used to indicate a {@link PropertyNamingStrategy}
9  * to use for annotated class. Overrides the global (default) strategy.
10  * Note that if the {@link #value} property is omitted, its default value
11  * means "use default naming" (that is, no alternate naming method is used).
12  * This can be used as an override with mix-ins.
13  *
14  * @since 2.1
15  */
16 @Target({ElementType.ANNOTATION_TYPE, ElementType.TYPE})
17 @Retention(RetentionPolicy.RUNTIME)
18 @com.fasterxml.jackson.annotation.JacksonAnnotation
19 public @interface JsonNaming
20 {
21     /**
22      * @return Type of {@link PropertyNamingStrategy} to use, if any; default value of
23      *    <code>PropertyNamingStrategy.class</code> means "no strategy specified"
24      *    (and may also be used for overriding to remove otherwise applicable
25      *    naming strategy)
26      */
value()27     public Class<? extends PropertyNamingStrategy> value() default PropertyNamingStrategy.class;
28 }
29