1 package com.fasterxml.jackson.annotation; 2 3 import java.lang.annotation.Annotation; 4 5 /** 6 * Marker interface used by value classes like {@link JsonFormat.Value} that are used 7 * to contain information from one of Jackson annotations, and can be directly 8 * instantiated from those annotations, as well as programmatically constructed 9 * and possibly merged. The reason for such marker is to allow generic handling of 10 * some of the annotations, as well as to allow easier injection of configuration 11 * from sources other than annotations. 12 * 13 * @since 2.6 14 */ 15 public interface JacksonAnnotationValue<A extends Annotation> 16 { 17 /** 18 * Introspection method that may be used to find actual annotation that may be used 19 * as the source for value instance. 20 * 21 * @return Annotation class for which instances of this value class are created 22 */ valueFor()23 public Class<A> valueFor(); 24 } 25