001package com.identityworksllc.iiq.common.vo;
002
003import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
004import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
005import com.fasterxml.jackson.databind.annotation.JsonSerialize;
006
007import java.lang.annotation.Retention;
008import java.lang.annotation.RetentionPolicy;
009
010/**
011 * A meta-annotation that can be used to flag a field as an IIQ Object. This
012 * will cause it to be serialized by Jackson using {@link IIQObjectSerializer}
013 * and de-serialized using {@link IIQObjectDeserializer}.
014 */
015@Retention(RetentionPolicy.RUNTIME)
016@JacksonAnnotationsInside
017@JsonDeserialize(using = IIQObjectDeserializer.class)
018@JsonSerialize(using = IIQObjectSerializer.class)
019public @interface IIQObject {
020}