Class ContextualCompositeValueExpression
- All Implemented Interfaces:
Serializable
public final class ContextualCompositeValueExpression
extends jakarta.el.ValueExpression
This specialized ValueExpression
enables the evaluation of composite component expressions. Instances of
this expression will be created when
TagAttributeImpl.getValueExpression(jakarta.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(jakarta.faces.component.UIComponent)
.
- See Also:
- Serialized Form
-
Constructor Summary
Constructors Constructor Description ContextualCompositeValueExpression()
ContextualCompositeValueExpression(Location location, jakarta.el.ValueExpression originalVE)
-
Method Summary
Modifier and Type Method Description boolean
equals(Object o)
Class<?>
getExpectedType()
String
getExpressionString()
Location
getLocation()
Class<?>
getType(jakarta.el.ELContext elContext)
Object
getValue(jakarta.el.ELContext elContext)
int
hashCode()
boolean
isLiteralText()
boolean
isReadOnly(jakarta.el.ELContext elContext)
void
setValue(jakarta.el.ELContext elContext, Object o)
String
toString()
-
Constructor Details
-
ContextualCompositeValueExpression
public ContextualCompositeValueExpression() -
ContextualCompositeValueExpression
public ContextualCompositeValueExpression(Location location, jakarta.el.ValueExpression originalVE)
-
-
Method Details
-
getValue
- Specified by:
getValue
in classjakarta.el.ValueExpression
-
setValue
- Specified by:
setValue
in classjakarta.el.ValueExpression
-
isReadOnly
public boolean isReadOnly(jakarta.el.ELContext elContext)- Specified by:
isReadOnly
in classjakarta.el.ValueExpression
-
getType
- Specified by:
getType
in classjakarta.el.ValueExpression
-
getExpectedType
- Specified by:
getExpectedType
in classjakarta.el.ValueExpression
-
getExpressionString
- Specified by:
getExpressionString
in classjakarta.el.Expression
-
equals
- Specified by:
equals
in classjakarta.el.Expression
-
hashCode
public int hashCode()- Specified by:
hashCode
in classjakarta.el.Expression
-
isLiteralText
public boolean isLiteralText()- Specified by:
isLiteralText
in classjakarta.el.Expression
-
toString
-
getLocation
- Returns:
- the
Location
of thisValueExpression
-