Class DelegatingMetaTagHandler

All Implemented Interfaces:
FaceletHandler
Direct Known Subclasses:
ComponentHandler, FaceletsAttachedObjectHandler

public abstract class DelegatingMetaTagHandler extends MetaTagHandler

Enable the Jakarta Faces implementation to provide the appropriate behavior for the kind of MetaTagHandler subclass for each kind of element in the view, while providing a base-class from which those wanting to make a Java language custom tag handler can inherit. The Jakarta Server Faces runtime provides the implementation of getTagHandlerDelegate() for the appropriate subclass.

  • Field Details

    • delegateFactory

      protected TagHandlerDelegateFactory delegateFactory
      Class that defines methods relating to helping tag handler instances.
  • Constructor Details

    • DelegatingMetaTagHandler

      public DelegatingMetaTagHandler(TagConfig config)
      Instantiates this handler with the given config.
      Parameters:
      config - the config used to instantiate this handler.
  • Method Details

    • getTagHandlerDelegate

      protected abstract TagHandlerDelegate getTagHandlerDelegate()

      Get the tag handler delegate.

      Code that extends from DelegatingMetaTagHandler (directly or indirectly, as through extending ComponentHandler) must take care to decorate, not replace, the TagHandlerDelegate instance returned by this method. Failure to do so may produce unexpected results.

      Returns:
      the tag handler delegate.
    • isDisabled

      public boolean isDisabled(FaceletContext ctx)
      Returns the value of the "disabled" attribute.
      Parameters:
      ctx - the context used for resolving the underlying attribute.
      Returns:
      true if the "disabled" attribute has been set to true, false otherwise.
    • getBinding

      public TagAttribute getBinding()
      Return the "binding" attribute.
      Returns:
      the "binding" attribute.
    • getTag

      public Tag getTag()
      Return a reference to the Tag instance corresponding to this TagHandler instance.
      Returns:
      a reference to the Tag instance.
    • getTagId

      public String getTagId()
      Return the tag id from the TagConfig used to instantiate this handler.
      Returns:
      the tag id from the TagConfig.
    • getTagAttribute

      public TagAttribute getTagAttribute(String localName)
      Return the named attribute from the tag attributes.
      Parameters:
      localName - the name of the attribute.
      Returns:
      the named attribute from the tag attributes.
    • setAttributes

      public void setAttributes(FaceletContext ctx, Object instance)
      Description copied from class: MetaTagHandler
      Invoking/extending this method will cause the results of the created MetaRuleset to auto-wire state to the passed instance.
      Overrides:
      setAttributes in class MetaTagHandler
      Parameters:
      ctx - the Facelet context.
      instance - the instance.
    • apply

      public void apply(FaceletContext ctx, UIComponent parent) throws IOException
      Parameters:
      ctx - the FaceletContext for this view execution
      parent - the parent UIComponent of the component represented by this element instance.
      Throws:
      IOException - if unable to load relativePath
      Since:
      2.0
    • applyNextHandler

      public void applyNextHandler(FaceletContext ctx, UIComponent c) throws IOException, FacesException, jakarta.el.ELException

      Invoke the apply() method on this instance's TagHandler.nextHandler.

      Parameters:
      ctx - the FaceletContext for this view execution
      c - the UIComponent of the component represented by this element instance.
      Throws:
      IOException - if thrown by the next FaceletHandler
      FaceletException - if thrown by the next FaceletHandler
      FacesException - if thrown by the next FaceletHandler
      jakarta.el.ELException - if thrown by the next FaceletHandler
      Since:
      2.0
    • createMetaRuleset

      protected MetaRuleset createMetaRuleset(Class type)

      The default implementation simply calls through to TagHandlerDelegate.createMetaRuleset(java.lang.Class) and returns the result.

      Specified by:
      createMetaRuleset in class MetaTagHandler
      Parameters:
      type - the Class for which the MetaRuleset must be created.
      Returns:
      the MetaRuleset.
      Since:
      2.0