javax.faces.webapp
Class UIComponentClassicTagBase

java.lang.Object
  extended by javax.faces.webapp.UIComponentTagBase
      extended by javax.faces.webapp.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
Version:
$Revision: 1188235 $ $Date: 2011-10-24 12:09:33 -0500 (Mon, 24 Oct 2011) $
Author:
Bruno Aranda (latest modification by $Author: struberg $), Manfred Geiler, Dennis Byrne

Field Summary
protected  javax.servlet.jsp.tagext.BodyContent bodyContent
           
protected  javax.servlet.jsp.PageContext pageContext
           
protected static String UNIQUE_ID_PREFIX
           
 
Fields inherited from class javax.faces.webapp.UIComponentTagBase
log
 
Fields inherited from interface javax.servlet.jsp.tagext.BodyTag
EVAL_BODY_BUFFERED, EVAL_BODY_TAG
 
Fields inherited from interface javax.servlet.jsp.tagext.IterationTag
EVAL_BODY_AGAIN
 
Fields inherited from interface javax.servlet.jsp.tagext.Tag
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE
 
Constructor Summary
UIComponentClassicTagBase()
           
 
Method Summary
protected  void addChild(UIComponent child)
           
protected  void addFacet(String name)
           
protected  void addVerbatimAfterComponent(UIComponentClassicTagBase parentTag, UIComponent verbatim, UIComponent component)
           Add verbatim as a sibling of _componentInstance in _componentInstance in the parent's child list.
protected  void addVerbatimBeforeComponent(UIComponentClassicTagBase parentTag, UIComponent verbatimComp, UIComponent component)
           
protected abstract  UIComponent createComponent(FacesContext context, String newId)
           
protected  UIOutput createVerbatimComponent()
           Creates a transient UIOutput using the Application, with the following characteristics:
protected  UIComponent createVerbatimComponentFromBodyContent()
          Creates a UIComponent from the BodyContent
 int doAfterBody()
           
 int doEndTag()
           
 void doInitBody()
           
 int doStartTag()
           
protected  void encodeBegin()
          Invoke encodeBegin on the associated UIComponent.
protected  void encodeChildren()
          Invoke encodeChildren on the associated UIComponent.
protected  void encodeEnd()
          Invoke encodeEnd on the associated UIComponent.
protected  UIComponent findComponent(FacesContext context)
          Return the corresponding UIComponent for this tag, creating it if necessary.
 javax.servlet.jsp.tagext.BodyContent getBodyContent()
           
 UIComponent getComponentInstance()
          Return the UIComponent instance associated with this tag.
 boolean getCreated()
           
protected  List<String> getCreatedComponents()
           
protected  int getDoAfterBodyValue()
           
protected  int getDoEndValue()
          Get the value to be returned by the doEndTag method to the JSP framework.
protected  int getDoStartValue()
          Get the value to be returned by the doStartTag method to the JSP framework.
protected  FacesContext getFacesContext()
           
protected  String getFacesJspId()
           
protected  String getFacetName()
           
protected  String getId()
          Return the id (if any) specified as an xml attribute on this tag.
protected  int getIndexOfNextChildTag()
           
 String getJspId()
           
 javax.servlet.jsp.tagext.Tag getParent()
          Returns the enclosing JSP tag object.
static UIComponentClassicTagBase getParentUIComponentClassicTagBase(javax.servlet.jsp.PageContext pageContext)
           
 javax.servlet.jsp.JspWriter getPreviousOut()
           
protected abstract  boolean hasBinding()
           
 void release()
           
 void setBodyContent(javax.servlet.jsp.tagext.BodyContent bodyContent)
           
 void setId(String id)
           
 void setJspId(String jspId)
           
 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.
 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.
protected abstract  void setProperties(UIComponent component)
           
protected  void setupResponseWriter()
          Deprecated. the ResponseWriter is now set by ViewHandler.renderView(javax.faces.context.FacesContext, javax.faces.component.UIViewRoot)
 
Methods inherited from class javax.faces.webapp.UIComponentTagBase
getComponentType, getELContext, getRendererType
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

UNIQUE_ID_PREFIX

protected static final String UNIQUE_ID_PREFIX
See Also:
Constant Field Values

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

getCreated

public boolean getCreated()
Specified by:
getCreated in class UIComponentTagBase
Returns:
See Also:
http://java.sun.com/javaee/5/docs/api/javax/faces/webapp/UIComponentClassicTagBase.html#getCreated()

getCreatedComponents

protected List<String> getCreatedComponents()

getParentUIComponentClassicTagBase

public static UIComponentClassicTagBase getParentUIComponentClassicTagBase(javax.servlet.jsp.PageContext pageContext)
Parameters:
pageContext -
Returns:
See Also:
getParentUIComponentClassicTagBase(javax.servlet.jsp.PageContext)

getJspId

public String getJspId()
Returns:
See Also:
http://java.sun.com/javaee/5/docs/api/javax/faces/webapp/UIComponentClassicTagBase.html#getFacesJspId()

setJspId

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

addChild

protected void addChild(UIComponent child)
Specified by:
addChild in class UIComponentTagBase
Parameters:
child -
See Also:
http://java.sun.com/javaee/5/docs/api/javax/faces/webapp/UIComponentTagBase.html#addChild(javax.faces. _componentInstance.UIComponent)

addFacet

protected void addFacet(String name)
Specified by:
addFacet in class UIComponentTagBase
Parameters:
name -
See Also:
http://java.sun.com/javaee/5/docs/api/javax/faces/webapp/UIComponentTagBase.html#addFacet(java.lang.String)

getComponentInstance

public UIComponent getComponentInstance()
Return the UIComponent instance associated with this tag.

Specified by:
getComponentInstance in class UIComponentTagBase
Returns:
a UIComponent, never null.
See Also:
http://java.sun.com/javaee/5/docs/api/javax/faces/webapp/UIComponentTagBase.html#getComponentInstance()

getFacesContext

protected FacesContext getFacesContext()
Specified by:
getFacesContext in class UIComponentTagBase
Returns:
See Also:
http://java.sun.com/javaee/5/docs/api/javax/faces/webapp/UIComponentTagBase.html#getFacesContext()

getIndexOfNextChildTag

protected int getIndexOfNextChildTag()
Specified by:
getIndexOfNextChildTag in class UIComponentTagBase
Returns:
See Also:
http://java.sun.com/javaee/5/docs/api/javax/faces/webapp/UIComponentTagBase.html#getIndexOfNextChildTag()

setId

public void setId(String id)
Specified by:
setId in class UIComponentTagBase
Parameters:
id -
See Also:
http://java.sun.com/javaee/5/docs/api/javax/faces/webapp/UIComponentTagBase.html#setId(java.lang.String)

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()


addVerbatimBeforeComponent

protected void addVerbatimBeforeComponent(UIComponentClassicTagBase parentTag,
                                          UIComponent verbatimComp,
                                          UIComponent component)

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.


setupResponseWriter

protected void setupResponseWriter()
Deprecated. the ResponseWriter is now set by ViewHandler.renderView(javax.faces.context.FacesContext, javax.faces.component.UIViewRoot)


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()


Copyright © 2014 The Apache Software Foundation. All Rights Reserved.