Class TagAdapter

  • All Implemented Interfaces:
    JspTag, Tag

    public class TagAdapter
    extends java.lang.Object
    implements Tag
    Wraps any SimpleTag and exposes it using a Tag interface. This is used to allow collaboration between classic Tag handlers and SimpleTag handlers.

    Because SimpleTag does not extend Tag, and because Tag.setParent() only accepts a Tag instance, a classic tag handler (one that implements Tag) cannot have a SimpleTag as its parent. To remedy this, a TagAdapter is created to wrap the SimpleTag parent, and the adapter is passed to setParent() instead. A classic Tag Handler can call getAdaptee() to retrieve the encapsulated SimpleTag instance.

    Since:
    JSP 2.0
    • Constructor Detail

      • TagAdapter

        public TagAdapter​(SimpleTag adaptee)
        Creates a new TagAdapter that wraps the given SimpleTag and returns the parent tag when getParent() is called.
        Parameters:
        adaptee - The SimpleTag being adapted as a Tag.
    • Method Detail

      • setPageContext

        public void setPageContext​(PageContext pc)
        Must not be called.
        Specified by:
        setPageContext in interface Tag
        Parameters:
        pc - ignored.
        Throws:
        java.lang.UnsupportedOperationException - Must not be called
      • setParent

        public void setParent​(Tag parentTag)
        Must not be called. The parent of this tag is always getAdaptee().getParent().
        Specified by:
        setParent in interface Tag
        Parameters:
        parentTag - ignored.
        Throws:
        java.lang.UnsupportedOperationException - Must not be called.
      • getAdaptee

        public JspTag getAdaptee()
        Gets the tag that is being adapted to the Tag interface. This should be an instance of SimpleTag in JSP 2.0, but room is left for other kinds of tags in future spec versions.
        Returns:
        the tag that is being adapted
      • doStartTag

        public int doStartTag()
                       throws JspException
        Must not be called.
        Specified by:
        doStartTag in interface Tag
        Returns:
        always throws UnsupportedOperationException
        Throws:
        java.lang.UnsupportedOperationException - Must not be called
        JspException - never thrown
        See Also:
        BodyTag
      • doEndTag

        public int doEndTag()
                     throws JspException
        Must not be called.
        Specified by:
        doEndTag in interface Tag
        Returns:
        always throws UnsupportedOperationException
        Throws:
        java.lang.UnsupportedOperationException - Must not be called
        JspException - never thrown
      • release

        public void release()
        Must not be called.
        Specified by:
        release in interface Tag
        Throws:
        java.lang.UnsupportedOperationException - Must not be called