1 package com.fasterxml.jackson.annotation; 2 3 import java.lang.annotation.ElementType; 4 import java.lang.annotation.Retention; 5 import java.lang.annotation.RetentionPolicy; 6 import java.lang.annotation.Target; 7 8 9 /** 10 * Annotation used for binding logical name that the annotated class 11 * has. Used with {@link JsonTypeInfo} (and specifically its 12 * {@link JsonTypeInfo#use} property) to establish relationship 13 * between type names and types. 14 * 15 * @author tatu 16 */ 17 @Target({ElementType.ANNOTATION_TYPE, ElementType.TYPE}) 18 @Retention(RetentionPolicy.RUNTIME) 19 @JacksonAnnotation 20 public @interface JsonTypeName { 21 /** 22 * Logical type name for annotated type. If missing (or defined as Empty String), 23 * defaults to using non-qualified class name as the type. 24 */ value()25 public String value() default ""; 26 } 27