package com.fasterxml.jackson.annotation;
import java.lang.annotation.Annotation;
Marker interface used by value classes like Value
that are used to contain information from one of Jackson annotations, and can be directly instantiated from those annotations, as well as programmatically constructed and possibly merged. The reason for such marker is to allow generic handling of some of the annotations, as well as to allow easier injection of configuration from sources other than annotations. Since: 2.6
/**
* Marker interface used by value classes like {@link JsonFormat.Value} that are used
* to contain information from one of Jackson annotations, and can be directly
* instantiated from those annotations, as well as programmatically constructed
* and possibly merged. The reason for such marker is to allow generic handling of
* some of the annotations, as well as to allow easier injection of configuration
* from sources other than annotations.
*
* @since 2.6
*/
public interface JacksonAnnotationValue<A extends Annotation>
{
Introspection method that may be used to find actual annotation that may be used
as the source for value instance.
Returns: Annotation class for which instances of this value class are created
/**
* Introspection method that may be used to find actual annotation that may be used
* as the source for value instance.
*
* @return Annotation class for which instances of this value class are created
*/
public Class<A> valueFor();
}