001/*
002 * Shredzone Commons
003 *
004 * Copyright (C) 2012 Richard "Shred" Körber
005 *   http://commons.shredzone.org
006 *
007 * This program is free software: you can redistribute it and/or modify
008 * it under the terms of the GNU Library General Public License as
009 * published by the Free Software Foundation, either version 3 of the
010 * License, or (at your option) any later version.
011 *
012 * This program is distributed in the hope that it will be useful,
013 * but WITHOUT ANY WARRANTY; without even the implied warranty of
014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
015 * GNU General Public License for more details.
016 *
017 * You should have received a copy of the GNU Library General Public License
018 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
019 */
020package org.shredzone.commons.taglib.annotation;
021
022import java.lang.annotation.Documented;
023import java.lang.annotation.ElementType;
024import java.lang.annotation.Retention;
025import java.lang.annotation.RetentionPolicy;
026import java.lang.annotation.Target;
027
028/**
029 * Annotates a package to be a tag library.
030 *
031 * @author Richard "Shred" Körber
032 */
033@Target(ElementType.PACKAGE)
034@Retention(RetentionPolicy.SOURCE)
035@Documented
036public @interface TagLib {
037
038    /**
039     * Tag library version. Required.
040     */
041    String tlibversion();
042
043    /**
044     * JSP version. Defaults to "1.1".
045     */
046    String jspversion() default "1.1";
047
048    /**
049     * Short name of the tag library. Required.
050     */
051    String shortname();
052
053    /**
054     * Tag library URI. Optional.
055     */
056    String uri() default "";
057
058    /**
059     * Name of the TLD file. Defaults to "META-INF/taglib.tld".
060     */
061    String tld() default "META-INF/taglib.tld";
062
063}