com.groupbyinc.common.jackson.databind.annotation.JsonNaming Maven / Gradle / Ivy
package com.fasterxml.jackson.databind.annotation;
import java.lang.annotation.*;
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
/**
* Annotation that can be used to indicate a {@link PropertyNamingStrategy}
* to use for annotated class. Overrides the global (default) strategy.
* Note that if the {@link #value} property is omitted, its default value
* means "use default naming" (that is, no alternate naming method is used).
* This can be used as an override with mix-ins.
*
* @since 2.1
*/
@Target({ElementType.ANNOTATION_TYPE, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@com.fasterxml.jackson.annotation.JacksonAnnotation
public @interface JsonNaming
{
/**
* @return Type of {@link PropertyNamingStrategy} to use, if any; default value of
* PropertyNamingStrategy.class
means "no strategy specified"
* (and may also be used for overriding to remove otherwise applicable
* naming strategy)
*/
public Class extends PropertyNamingStrategy> value() default PropertyNamingStrategy.class;
}