001package io.avaje.jsonb.spi;
002
003import java.lang.annotation.*;
004
005/**
006 * For internal use, holds metadata on generated adapters for use by code generation (Java annotation processing).
007 */
008@Target(ElementType.TYPE)
009@Retention(RetentionPolicy.CLASS)
010public @interface MetaData {
011
012  /**
013   * The generated JsonAdapters.
014   */
015  Class<?>[] value();
016
017  /**
018   * For internal use, holds metadata on generated adapters that also have factories.
019   */
020  @interface Factory {
021
022    /**
023     * The generated JsonAdapters that have a factory.
024     */
025    Class<?>[] value();
026  }
027}