|
Java EE 5 SDK | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object javax.faces.webapp.UIComponentTagBase javax.faces.webapp.UIComponentClassicTagBase javax.faces.webapp.UIComponentELTag
public abstract class UIComponentELTag
UIComponentELTag
specializes its superclass to allow for
properties that take their values from EL API expressions.
This tag is designed for use with Faces version 1.2 and JSP version 2.1 containers.
Field Summary |
---|
Fields inherited from class javax.faces.webapp.UIComponentClassicTagBase |
---|
bodyContent, pageContext, UNIQUE_ID_PREFIX |
Fields inherited from class javax.faces.webapp.UIComponentTagBase |
---|
log |
Fields inherited from interface javax.servlet.jsp.tagext.Tag |
---|
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE |
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 |
Constructor Summary | |
---|---|
UIComponentELTag()
|
Method Summary | |
---|---|
protected UIComponent |
createComponent(FacesContext context,
String newId)
Create and return a new child component of the type returned by calling getComponentType() . |
protected ELContext |
getELContext()
Return the ELContext for the FacesContext for
this request. |
protected boolean |
hasBinding()
Return true if this component has a
non-null binding attribute. |
void |
release()
Release any resources allocated during the execution of this tag handler. |
void |
setBinding(ValueExpression binding)
Set the value expression for our component. |
protected void |
setProperties(UIComponent component)
Override properties and attributes of the specified component, if the corresponding properties of this tag handler instance were explicitly set. |
void |
setRendered(ValueExpression rendered)
Set an override for the rendered attribute. |
Methods inherited from class javax.faces.webapp.UIComponentTagBase |
---|
getComponentType, getRendererType |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface javax.servlet.jsp.tagext.Tag |
---|
doEndTag, doStartTag, getParent, setPageContext, setParent |
Constructor Detail |
---|
public UIComponentELTag()
Method Detail |
---|
public void setBinding(ValueExpression binding) throws JspException
Set the value expression for our component.
binding
- The new value expression
IllegalArgumentException
- if the specified binding is not a
valid value binding expression.
JspException
protected boolean hasBinding()
UIComponentClassicTagBase
Return true
if this component has a
non-null
binding attribute. This method is
necessary to allow subclasses that expose the
binding
property as an Faces 1.1 style EL property
as well as subclasses that expose it as an EL API property.
hasBinding
in class UIComponentClassicTagBase
public void setRendered(ValueExpression rendered)
Set an override for the rendered attribute.
rendered
- The new value for rendered attributeprotected ELContext getELContext()
Return the ELContext
for the FacesContext
for
this request.
This is a convenience for
getFacesContext().getELContext()
.
getELContext
in class UIComponentTagBase
public void release()
Release any resources allocated during the execution of this tag handler.
release
in interface Tag
release
in class UIComponentClassicTagBase
protected void setProperties(UIComponent component)
Override properties and attributes of the specified component,
if the corresponding properties of this tag handler instance were
explicitly set. This method must be called ONLY
if the specified UIComponent
was in fact created during
the execution of this tag handler instance, and this call will occur
BEFORE the UIComponent
is added to
the view.
Tag subclasses that want to support additional set properties
must ensure that the base class setProperties()
method is still called. A typical implementation that supports
extra properties foo
and bar
would look
something like this:
protected void setProperties(UIComponent component) { super.setProperties(component); if (foo != null) { component.setAttribute("foo", foo); } if (bar != null) { component.setAttribute("bar", bar); } }
The default implementation overrides the following properties:
rendered
- Set if a value for the
rendered
property is specified for
this tag handler instance.rendererType
- Set if the getRendererType()
method returns a non-null value.
setProperties
in class UIComponentClassicTagBase
component
- UIComponent
whose properties are to be
overriddenprotected UIComponent createComponent(FacesContext context, String newId) throws JspException
Create and return a new child component of the type returned by
calling getComponentType()
. If this UIComponentELTag
has a non-null binding
attribute, this is done by
call Application.createComponent(java.lang.String)
with the ValueExpression
created for the binding
attribute, and the
ValueExpression
will be stored on the component. Otherwise,
Application.createComponent(java.lang.String)
is called with only
the component type. Finally, initialize the components id
and other properties.
createComponent
in class UIComponentClassicTagBase
context
- FacesContext
for the current requestnewId
- id of the component
JspException
|
Java EE 5 SDK | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright 2006 Sun Microsystems, Inc. All rights reserved.