org.icefaces.ace.meta.annotation

## Annotation Type JSP

-     @Target(value=TYPE)
       @Retention(value=RUNTIME)
      public @interface JSP

  Used to generate pure JSP (non-JSF) Tag file, interface, TLD, TLDDOC, Javadoc. Specify this annotation on Meta classes, optionally along-side any Component annotation. Use the Property annotation on the Meta class' fields, and discern between properties that are only for JSP or only for JSF via the Only annotation. Have a JSP annotated Meta class extend a JSPBaseMeta annotated baseMeta class to use it's defaults for the JSP's generateInterfaceExtendsClass and generateTagExtendsClass fields.

- - ### Field Summary

    Fields
    Modifier and Type | Fields and Description
    --- | ---
    `static java.lang.String` | `EMPTY`

  - ### Optional Element Summary

    Optional Elements
    Modifier and Type | Optional Element and Description
    --- | ---
    `BodyContent` | `bodyContent` Specify which body-content value to use in the TLD file.
    `java.lang.String` | `generatedInterfaceClass` Fully qualified class name for the generated interface.
    `java.lang.String` | `generatedInterfaceExtendsClass` Fully qualified class name of the interface that the generated interface will extend.
    `java.lang.String` | `generatedTagClass` Fully qualified name for the generated tag class.
    `java.lang.String` | `generatedTagExtendsClass` Fully qualified name of the class that the generated tag class will extend.
    `java.lang.String` | `javadoc` javadoc for the tag class.
    `java.lang.String` | `tagClass` Fully qualified name for the tag class.
    `java.lang.String` | `tagName` Name of tag.
    `java.lang.String` | `tlddoc` tld doc for the tag class.

- - ### Field Detail

    - #### EMPTY

          public static final java.lang.String EMPTY

  - ### Element Detail

    - #### tagName

          public abstract java.lang.String tagName

      Name of tag. If not specified, then it defaults to the Meta class' simple name, without the "Meta" suffix, using camel case. Eg: MyCompMeta -> myComp
      Returns:
        defined tag name.
      Default:
        ""

  - - #### tagClass

          public abstract java.lang.String tagClass

      Fully qualified name for the tag class. This is the manually coded Tag class that will be referenced in the TLD, that would extend the generated tag class, and add any necessary manual code, or simply remain empty. If not specified, then it defaults to the Meta class' full name, without the "Meta" suffix, but with a "Tag" suffix added. Eg: org.mypackage.MyCompMeta -> org.mypackage.MyCompTag
      Returns:
        fully qualified name of the tag class.
      Default:
        ""

  - - #### generatedTagClass

          public abstract java.lang.String generatedTagClass

      Fully qualified name for the generated tag class. This will contain the generated fields, getter and setter methods, and release method. The tag class will extend it, and it will extend generateTagExtendsClass. If not specified, then it defaults to the Meta class' full name, without the "Meta" suffix, but with a "BaseTag" suffix added. Eg: org.mypackage.MyCompMeta -> org.mypackage.MyCompBaseTag
      Returns:
        fully qualified name of the generated base tag class.
      Default:
        ""

  - - #### generatedTagExtendsClass

          public abstract java.lang.String generatedTagExtendsClass

      Fully qualified name of the class that the generated tag class will extend. If not specified, but the Meta class extends a @JSPBaseMeta annotated baseMeta class, then the @JSPBaseMeta tagClass will be used. Otherwise, "javax.servlet.jsp.tagext.TagSupport" will be used.
      Returns:
        fully qualified name of the class that the generated base tag will extended.
      Default:
        ""

  - - #### generatedInterfaceClass

          public abstract java.lang.String generatedInterfaceClass

      Fully qualified class name for the generated interface. This will be an interface for the getter and setter methods corresponding to the generated properties. While the generated base tag class will only contain common and @Only(JSP) properties, the interface will contain getter and setter methods for the union of all of the properties, including @Only(JSF) ones. If not specified, then it defaults to the Meta class' full name, without the "Meta" suffix, but with an "I" prefix added. Eg: org.mypackage.MyCompMeta -> org.mypackage.IMyComp
      Returns:
        fully qualified class name of the generated interface.
      Default:
        ""

  - - #### generatedInterfaceExtendsClass

          public abstract java.lang.String generatedInterfaceExtendsClass

      Fully qualified class name of the interface that the generated interface will extend. If not specified, but the Meta class extends a @JSPBaseMeta annotated baseMeta class, then the @JSPBaseMeta interfaceClass will be used. Otherwise, the generated interface will not extend anything.
      Returns:
        fully qualified class name of the interface that the generated interface will extended.
      Default:
        ""

  - - #### tlddoc

          public abstract java.lang.String tlddoc

      tld doc for the tag class. Goes into the Tld documentation.
      Returns:
        tag documentation for tld.
      Default:
        ""

  - - #### javadoc

          public abstract java.lang.String javadoc

      javadoc for the tag class. Goes into the generated tag class. If not specified, defaults to being the same as tlddoc.
      Returns:
        javadoc for the generated base tag class.
      Default:
        ""

  - - #### bodyContent

          public abstract BodyContent bodyContent

      Specify which body-content value to use in the TLD file. If not specified, but the Meta class extends a @JSPBaseMeta annotated baseMeta class, then the @JSPBaseMeta bodyContent will be used, otherwise "JSP".
      Returns:
        value for the tag's body-content in the generated TLD file.
      Default:
        org.icefaces.ace.meta.annotation.BodyContent.UNSET

Copyright 2025 ICEsoft Technologies Canada, Corp. All Rights Reserved.