- All Implemented Interfaces:
Serializable
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 ValueExpressions 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:
-
Constructor Summary
ConstructorsConstructorDescriptionContextualCompositeValueExpression(Location location, jakarta.el.ValueExpression originalVE) -
Method Summary
Modifier and TypeMethodDescriptionbooleanClass<?>Class<?>getType(jakarta.el.ELContext elContext) getValue(jakarta.el.ELContext elContext) jakarta.el.ValueReferencegetValueReference(jakarta.el.ELContext elContext) inthashCode()booleanbooleanisReadOnly(jakarta.el.ELContext elContext) voidtoString()
-
Constructor Details
-
ContextualCompositeValueExpression
public ContextualCompositeValueExpression() -
ContextualCompositeValueExpression
-
-
Method Details
-
getValue
- Specified by:
getValuein classjakarta.el.ValueExpression
-
setValue
- Specified by:
setValuein classjakarta.el.ValueExpression
-
isReadOnly
public boolean isReadOnly(jakarta.el.ELContext elContext) - Specified by:
isReadOnlyin classjakarta.el.ValueExpression
-
getType
- Specified by:
getTypein classjakarta.el.ValueExpression
-
getExpectedType
- Specified by:
getExpectedTypein classjakarta.el.ValueExpression
-
getValueReference
public jakarta.el.ValueReference getValueReference(jakarta.el.ELContext elContext) - Overrides:
getValueReferencein classjakarta.el.ValueExpression
-
getExpressionString
- Specified by:
getExpressionStringin classjakarta.el.Expression
-
equals
- Specified by:
equalsin classjakarta.el.Expression
-
hashCode
public int hashCode()- Specified by:
hashCodein classjakarta.el.Expression
-
isLiteralText
public boolean isLiteralText()- Specified by:
isLiteralTextin classjakarta.el.Expression
-
toString
-
getLocation
- Returns:
- the
Locationof thisValueExpression
-