package org.tldgen.annotations; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import javax.servlet.jsp.tagext.TagExtraInfo; /** * A JSP tag to be included in the generated TLD. * @author jralonso * */ @Target(ElementType.TYPE) @Documented @Retention(RetentionPolicy.SOURCE) public @interface Tag { /** the body-content type, default {@link BodyContent SCRIPTLESS} */ BodyContent bodyContent() default BodyContent.SCRIPTLESS; /** the unique tag name. If empty, the unqualified class name will be used without the "Tag" suffix, if any */ String name() default ""; /** * Optional short name to be displayed by tools */ String displayName() default ""; /** * Optional icon element to be displayed by tools */ String icon() default ""; /** * Whether this tag supports additional attributes with dynamic names. If true, the tag-class must implement the * javax.servlet.jsp.tagext.DynamicAttributes interface. Default false. */ boolean dynamicAttributes() default false; /** * Optional informal description of an example of use of this tag */ String example() default ""; /** * Optional subclass of {@link TagExtraInfo} */ Class<? extends TagExtraInfo> teiClass() default TagExtraInfo.class; /** * List of variables created by this Tag */ Variable[] variables() default {}; }