public final class ContextualCompositeValueExpression
extends javax.el.ValueExpression
This specialized ValueExpression
enables the evaluation of
composite component expressions. Instances of this expression will be
created when TagAttributeImpl.getValueExpression(javax.faces.view.facelets.FaceletContext, Class)
is invoked and the expression represents a composite component expression (i.e. #{cc.[properties]}).
It's important to note that these ValueExpression
s are context
sensitive in that they leverage the location in which they were referenced
in order to push the proper composite component to the evaluation context
prior to evaluating the expression itself.
Using Page test.xhtml --------------------------------- <ez:comp1 greeting="Hello!" /> comp1.xhtml --------------------------------- <composite:interface> <composite:attribute name="greeting" type="java.lang.String" required="true" /> </composite:interface> <composite:implementation> <ez:nesting> <h:outputText value="#{cc.attrs.greetings}" /> </ez:nesting> </composite:implementation> nesting.xhtml --------------------------------- <composite:interface /> <composite:implementation> <composite:insertChildren> </composite:implementation>
In the above example, there will be two composite components available to
the runtime: ez:comp1
and ez:nesting
.
When <h:outputText value="#{cc.attrs.greeting}" />, prior to attempting
to evaluate the expression, the Location
object will be used to
find the composite component that 'owns' the template in which
the expression was defined in by comparing the path of the Location with the
name and library of the Resource
instance associated
with each composite component. If a matching composite component is found,
it will be made available to the EL by calling CompositeComponentStackManager.push(javax.faces.component.UIComponent)
.
Constructor and Description |
---|
ContextualCompositeValueExpression() |
ContextualCompositeValueExpression(Location location,
javax.el.ValueExpression originalVE) |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object o) |
Class<?> |
getExpectedType() |
String |
getExpressionString() |
Location |
getLocation() |
Class<?> |
getType(javax.el.ELContext elContext) |
Object |
getValue(javax.el.ELContext elContext) |
int |
hashCode() |
boolean |
isLiteralText() |
boolean |
isReadOnly(javax.el.ELContext elContext) |
void |
setValue(javax.el.ELContext elContext,
Object o) |
String |
toString() |
public ContextualCompositeValueExpression()
public ContextualCompositeValueExpression(Location location, javax.el.ValueExpression originalVE)
public Object getValue(javax.el.ELContext elContext)
getValue
in class javax.el.ValueExpression
public void setValue(javax.el.ELContext elContext, Object o)
setValue
in class javax.el.ValueExpression
public boolean isReadOnly(javax.el.ELContext elContext)
isReadOnly
in class javax.el.ValueExpression
public Class<?> getType(javax.el.ELContext elContext)
getType
in class javax.el.ValueExpression
public Class<?> getExpectedType()
getExpectedType
in class javax.el.ValueExpression
public String getExpressionString()
getExpressionString
in class javax.el.Expression
public boolean equals(Object o)
equals
in class javax.el.Expression
public int hashCode()
hashCode
in class javax.el.Expression
public boolean isLiteralText()
isLiteralText
in class javax.el.Expression
Comments to: faces-dev@eclipse.org.
Copyright © 2019 Eclipse Foundation. All rights reserved.
Use is subject to license terms.