org.icefaces.ace.meta.annotation

## Annotation Type TagHandler

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

  The TagHandler annotation takes information, which is used by the tld, and faces-taglib as well as the TagHandler class itself. It has some mandatory fields and some that are optional. Which allows to specify following information:
  - the name and location of the class to be generated
  - tag handler type
  - tag name
  - Javadoc
  - TLD doc

- - ### Field Summary

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

  - ### Required Element Summary

    Required Elements
    Modifier and Type | Required Element and Description
    --- | ---
    `java.lang.String` | `extendsClass` Class that has to be extended by the generated component.
    `TagHandlerType` | `tagHandlerType` Type of the tag handler.
    `java.lang.String` | `tagName` Name of tag.

  - ### Optional Element Summary

    Optional Elements
    Modifier and Type | Optional Element and Description
    --- | ---
    `java.lang.String` | `behaviorClass` Class of the behavior itself (if this is a behavior handler).
    `java.lang.String` | `behaviorId`
    `java.lang.String` | `generatedClass` by default generated classes are leaf classes, so you can't override any behaviour.
    `java.lang.String` | `javadoc` javadocs for the tag handler class.
    `java.lang.String` | `tagHandlerClass` Name of tag.
    `java.lang.String` | `tlddoc` tld docs for the tag handler class.

- - ### Field Detail

    - #### EMPTY

          public static final java.lang.String EMPTY

  - ### Element Detail

    - #### tagName

          public abstract java.lang.String tagName

      Name of tag. Its a mandatory field.
      Returns:
        defined tag name.

  - - #### extendsClass

          public abstract java.lang.String extendsClass

      Class that has to be extended by the generated component. Its a mandatory field.
      Returns:
        fully qualified name of the class has to be extended.

  - - #### tagHandlerType

          public abstract TagHandlerType tagHandlerType

      Type of the tag handler.
      Returns:
        component type.

  - - #### tagHandlerClass

          public abstract java.lang.String tagHandlerClass

      Name of tag. Its a mandatory field.
      Returns:
        defined tag name.
      Default:
        ""

  - - #### generatedClass

          public abstract java.lang.String generatedClass

      by default generated classes are leaf classes, so you can't override any behaviour. If you want to hand code the leaf class and extend the generated one then you can use this attribute in conjunction with componentClass attribute. For example: HandCodedClass --> GeneratedClass --> UIComponent
      Returns:
        fully qualified name of the generated class.
      Default:
        ""

  - - #### behaviorId

          public abstract java.lang.String behaviorId

      Default:
        ""

  - - #### javadoc

          public abstract java.lang.String javadoc

      javadocs for the tag handler class. Goes into the Base class.
      Returns:
        javadocs for the component class.
      Default:
        ""

  - - #### tlddoc

          public abstract java.lang.String tlddoc

      tld docs for the tag handler class. Goes into the Tld documents.
      Returns:
        component doc for tld.
      Default:
        ""

  - - #### behaviorClass

          public abstract java.lang.String behaviorClass

      Class of the behavior itself (if this is a behavior handler).
      Returns:
        behavior class.
      Default:
        ""

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