package com.fasterxml.jackson.annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
Marker annotation that can be used to define a non-static, no-argument value-returning (non-void) method to be used as a "getter" for a logical property. It can be used as an alternative to more general JsonProperty
annotation (which is the recommended choice in general case).
Getter means that when serializing Object instance of class that has
this method (possibly inherited from a super class), a call is made
through the method, and return value will be serialized as value of
the property.
/**
* Marker annotation that can be used to define a non-static,
* no-argument value-returning (non-void) method to be used as a "getter"
* for a logical property.
* It can be used as an alternative to more general
* {@link JsonProperty} annotation (which is the recommended choice in
* general case).
*<p>
* Getter means that when serializing Object instance of class that has
* this method (possibly inherited from a super class), a call is made
* through the method, and return value will be serialized as value of
* the property.
*/
@Target({ElementType.ANNOTATION_TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@JacksonAnnotation
public @interface JsonGetter
{
Defines name of the logical property this
method is used to access ("get"); empty String means that
name should be derived from the underlying method (using
standard Bean name detection rules)
/**
* Defines name of the logical property this
* method is used to access ("get"); empty String means that
* name should be derived from the underlying method (using
* standard Bean name detection rules)
*/
String value() default "";
}