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