package org.jboss.seam.rest.templating; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.Target; import static java.lang.annotation.ElementType.METHOD; import static java.lang.annotation.RetentionPolicy.RUNTIME; /** * Indicates that the HTTP response is produced using a template. * * @author <a href="http://community.jboss.org/people/jharting">Jozef Hartinger</a> */ @Retention(RUNTIME) @Target(METHOD) @Documented public @interface ResponseTemplate { /** * Path to the template to be used. */ String value(); /** * Media type produced by the template. */ String produces() default "*/*"; /** * Name under which the returned value is available in the template. */ String responseName() default "response"; /** * Defines several <code>@ResponseTemplate</code> annotations on the same element * * @see ResponseTemplate */ @Target(METHOD) @Retention(RUNTIME) @Documented @interface List { ResponseTemplate[] value(); } }