001package com.identityworksllc.iiq.common.plugin.annotations;
002
003import java.lang.annotation.ElementType;
004import java.lang.annotation.Retention;
005import java.lang.annotation.RetentionPolicy;
006import java.lang.annotation.Target;
007
008/**
009 * The annotation specifying what VO objects can be validly returned from a
010 * REST API endpoint method, apart from the defaults.
011 */
012@Retention(RetentionPolicy.RUNTIME)
013@Target({ElementType.METHOD, ElementType.TYPE})
014public @interface ResponsesAllowed {
015
016    /**
017     * The list of classes that the REST API endpoint supports. All other output
018     * types will result in a logged warning and a null response.
019     * @return The list of classes
020     */
021    Class<?>[] value();
022}