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;
/**
* A tag library descriptor. When bound to a package, describes the tag library
* attributes. Example of use (package-info.java):
* <pre>@org.tldgen.annotations.TagLibrary(uri = "http://acme.com/mytaglib.tld")
package com.acme.tags;
</pre>
*
* @author icoloma
*/
@Target({ElementType.PACKAGE, ElementType.TYPE})
@Documented
@Retention(RetentionPolicy.SOURCE)
public @interface Library {
/**
* The tag library name. Required.
*/
String shortName();
/** a short name that is intended to be displayed by tools */
String displayName() default "";
/** a uri uniquely identifying this taglib */
String uri();
/** the version of the TLD to generate */
TldVersion version() default TldVersion.VERSION_21;
/** optional small icon that can be used by tools */
String smallIcon() default "";
/** optional large icon that can be used by tools */
String largeIcon() default "";
/** a simple string describing the "use" of this taglib, should be user discernable */
String description() default "";
/** the library license to use. Defaults to whatever was specified in the command line */
License license() default License.NONE;
}