All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.cucumber.datatable.dependency.com.fasterxml.jackson.annotation.JsonIdentityReference Maven / Gradle / Ivy

package io.cucumber.datatable.dependency.com.fasterxml.jackson.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * Optional annotation that can be used for customizing details of a reference
 * to Objects for which "Object Identity" is enabled (see {@link JsonIdentityInfo}).
 * The main use case is that of enforcing use of Object Id even for the first
 * time an Object is referenced, instead of first instance being serialized
 * as full POJO.
 *
 * @since 2.1
 */
@Target({ElementType.ANNOTATION_TYPE, ElementType.TYPE,
    ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
@JacksonAnnotation
public @interface JsonIdentityReference
{
    /**
     * Marker to indicate whether all referenced values are to
     * be serialized as ids (true); or by serializing the
     * first encountered reference as POJO and only then as id (false).
     *

* Note that if value of 'true' is used, deserialization may require * additional contextual information, and possibly using a custom * id resolver -- the default handling may not be sufficient. * * @since 2.1 */ public boolean alwaysAsId() default false; }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy