Class UIComponentClassicTagBase

  • All Implemented Interfaces:
    javax.servlet.jsp.tagext.BodyTag, javax.servlet.jsp.tagext.IterationTag, javax.servlet.jsp.tagext.JspIdConsumer, javax.servlet.jsp.tagext.JspTag, javax.servlet.jsp.tagext.Tag
    Direct Known Subclasses:
    UIComponentELTag, UIComponentTag

    public abstract class UIComponentClassicTagBase
    extends UIComponentTagBase
    implements javax.servlet.jsp.tagext.BodyTag, javax.servlet.jsp.tagext.JspIdConsumer
    Since:
    1.2
    • Field Detail

      • pageContext

        protected javax.servlet.jsp.PageContext pageContext
      • bodyContent

        protected javax.servlet.jsp.tagext.BodyContent bodyContent
    • Constructor Detail

      • UIComponentClassicTagBase

        public UIComponentClassicTagBase()
    • Method Detail

      • setProperties

        protected abstract void setProperties​(UIComponent component)
      • createComponent

        protected abstract UIComponent createComponent​(FacesContext context,
                                                       String newId)
                                                throws javax.servlet.jsp.JspException
        Throws:
        javax.servlet.jsp.JspException
      • release

        public void release()
        Specified by:
        release in interface javax.servlet.jsp.tagext.Tag
      • getCreatedComponents

        protected List<String> getCreatedComponents()
      • getParentUIComponentClassicTagBase

        public static UIComponentClassicTagBase getParentUIComponentClassicTagBase​(javax.servlet.jsp.PageContext pageContext)
      • getJspId

        public String getJspId()
      • setJspId

        public void setJspId​(String jspId)
        Specified by:
        setJspId in interface javax.servlet.jsp.tagext.JspIdConsumer
      • getId

        protected String getId()
        Return the id (if any) specified as an xml attribute on this tag.
      • getFacesJspId

        protected String getFacesJspId()
      • setBodyContent

        public void setBodyContent​(javax.servlet.jsp.tagext.BodyContent bodyContent)
        Specified by:
        setBodyContent in interface javax.servlet.jsp.tagext.BodyTag
      • doInitBody

        public void doInitBody()
                        throws javax.servlet.jsp.JspException
        Specified by:
        doInitBody in interface javax.servlet.jsp.tagext.BodyTag
        Throws:
        javax.servlet.jsp.JspException
      • doAfterBody

        public int doAfterBody()
                        throws javax.servlet.jsp.JspException
        Specified by:
        doAfterBody in interface javax.servlet.jsp.tagext.IterationTag
        Throws:
        javax.servlet.jsp.JspException
      • setPageContext

        public void setPageContext​(javax.servlet.jsp.PageContext pageContext)
        Standard method invoked by the JSP framework to inform this tag of the PageContext associated with the jsp page currently being processed.
        Specified by:
        setPageContext in interface javax.servlet.jsp.tagext.Tag
      • getParent

        public javax.servlet.jsp.tagext.Tag getParent()
        Returns the enclosing JSP tag object. Note that this is not necessarily a JSF tag.
        Specified by:
        getParent in interface javax.servlet.jsp.tagext.Tag
      • setParent

        public void setParent​(javax.servlet.jsp.tagext.Tag tag)
        Standard method invoked by the JSP framework to inform this tag of the enclosing JSP tag object.
        Specified by:
        setParent in interface javax.servlet.jsp.tagext.Tag
      • getBodyContent

        public javax.servlet.jsp.tagext.BodyContent getBodyContent()
      • doStartTag

        public int doStartTag()
                       throws javax.servlet.jsp.JspException
        Specified by:
        doStartTag in interface javax.servlet.jsp.tagext.Tag
        Throws:
        javax.servlet.jsp.JspException
      • doEndTag

        public int doEndTag()
                     throws javax.servlet.jsp.JspException
        Specified by:
        doEndTag in interface javax.servlet.jsp.tagext.Tag
        Throws:
        javax.servlet.jsp.JspException
      • getDoAfterBodyValue

        protected int getDoAfterBodyValue()
                                   throws javax.servlet.jsp.JspException
        Throws:
        javax.servlet.jsp.JspException
      • getDoStartValue

        protected int getDoStartValue()
                               throws javax.servlet.jsp.JspException
        Get the value to be returned by the doStartTag method to the JSP framework. Subclasses which wish to use the inherited doStartTag but control whether the tag is permitted to contain nested tags or not can just override this method to return Tag.SOME_CONSTANT.
        Returns:
        BodyTag.EVAL_BODY_BUFFERED
        Throws:
        javax.servlet.jsp.JspException
      • getDoEndValue

        protected int getDoEndValue()
                             throws javax.servlet.jsp.JspException
        Get the value to be returned by the doEndTag method to the JSP framework. Subclasses which wish to use the inherited doEndTag but control whether the tag is permitted to contain nested tags or not can just override this method to return Tag.SOME_CONSTANT.
        Returns:
        Tag.EVAL_PAGE
        Throws:
        javax.servlet.jsp.JspException
      • getFacetName

        protected String getFacetName()
      • createVerbatimComponentFromBodyContent

        protected UIComponent createVerbatimComponentFromBodyContent()
        Creates a UIComponent from the BodyContent
      • createVerbatimComponent

        protected UIOutput createVerbatimComponent()

        Creates a transient UIOutput using the Application, with the following characteristics:

        componentType is javax.faces.HtmlOutputText.

        transient is true.

        escape is false.

        id is FacesContext.getViewRoot().createUniqueId()

      • addVerbatimAfterComponent

        protected void addVerbatimAfterComponent​(UIComponentClassicTagBase parentTag,
                                                 UIComponent verbatim,
                                                 UIComponent component)

        Add verbatim as a sibling of _componentInstance in _componentInstance in the parent's child list. verbatim is added to the list at the position immediatly following _componentInstance.

      • encodeBegin

        protected void encodeBegin()
                            throws IOException
        Invoke encodeBegin on the associated UIComponent. Subclasses can override this method to perform custom processing before or after the UIComponent method invocation.
        Throws:
        IOException
      • encodeChildren

        protected void encodeChildren()
                               throws IOException
        Invoke encodeChildren on the associated UIComponent. Subclasses can override this method to perform custom processing before or after the UIComponent method invocation. This is only invoked for components whose getRendersChildren method returns true.
        Throws:
        IOException
      • encodeEnd

        protected void encodeEnd()
                          throws IOException
        Invoke encodeEnd on the associated UIComponent. Subclasses can override this method to perform custom processing before or after the UIComponent method invocation.
        Throws:
        IOException
      • findComponent

        protected UIComponent findComponent​(FacesContext context)
                                     throws javax.servlet.jsp.JspException
        Return the corresponding UIComponent for this tag, creating it if necessary.

        If this is not the first time this method has been called, then return the cached _componentInstance instance found last time.

        If this is not the first time this view has been seen, then locate the existing _componentInstance using the id attribute assigned to this tag and return it. Note that this is simple for components with user-assigned ids. For components with generated ids, the "reattachment" relies on the fact that UIViewRoot will generate the same id values for tags in this page as it did when first generating the view. For this reason all JSF tags within a JSTL "c:if" are required to have explicitly-assigned ids.

        Otherwise create the _componentInstance, populate its properties from the xml attributes on this JSP tag and attach it to its parent.

        When a _componentInstance is found or created the parent JSP tag is also told that the _componentInstance has been "seen". When the parent tag ends it will delete any components which were in the view previously but have not been seen this time; see doEndTag for more details.

        Throws:
        javax.servlet.jsp.JspException
      • hasBinding

        protected abstract boolean hasBinding()
      • getPreviousOut

        public javax.servlet.jsp.JspWriter getPreviousOut()