Package com.sun.faces.facelets.el
Class ContextualCompositeMethodExpression
- java.lang.Object
-
- jakarta.el.Expression
-
- jakarta.el.MethodExpression
-
- com.sun.faces.facelets.el.ContextualCompositeMethodExpression
-
- All Implemented Interfaces:
Serializable
public class ContextualCompositeMethodExpression extends jakarta.el.MethodExpressionThis specialized
MethodExpressionenables the evaluation of composite component expressions. Instances of this expression will be created whenTagAttributeImpl.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
Here's an example:MethodExpressions 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 do="#{bean.action}" /> comp1.xhtml --------------------------------- <composite:interface> <composite:attribute name="do" method-signature="String f()" required="true" /> </composite:interface> <composite:implementation> <ez:nesting> <h:commandButton value="Click Me!" action="#{cc.attrs.do} /> </ez:nesting> </composite:implementation> nesting.xhtml --------------------------------- <composite:interface /> <composite:implementation> <composite:insertChildren> </composite:implementation>WhencommandButtonis clicked, theContextualCompositeMethodExpressionfirst is looked up byTagAttributeImpl.AttributeLookupMethodExpressionwhich results an instance ofContextualCompositeMethodExpression. When thisContextualCompositeMethodExpressionis invoked, theLocationobject necessary to find the proper composite component will be derived from sourceValueExpressionprovided at construction time. Using the derivedLocation, we can find the composite component that matches 'owns' the template in which the expression was defined in by comparing the path of the Location with the name and library of theResourceinstance associated with each composite component. If a matching composite component is found, it will be made available to the EL by callingCompositeComponentStackManager.push(jakarta.faces.component.UIComponent).- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description ContextualCompositeMethodExpression(jakarta.el.ValueExpression source, jakarta.el.MethodExpression delegate)ContextualCompositeMethodExpression(Location location, jakarta.el.MethodExpression delegate)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(Object o)StringgetExpressionString()jakarta.el.MethodInfogetMethodInfo(jakarta.el.ELContext elContext)inthashCode()Objectinvoke(jakarta.el.ELContext elContext, Object[] objects)booleanisLiteralText()
-
-
-
Constructor Detail
-
ContextualCompositeMethodExpression
public ContextualCompositeMethodExpression(jakarta.el.ValueExpression source, jakarta.el.MethodExpression delegate)
-
ContextualCompositeMethodExpression
public ContextualCompositeMethodExpression(Location location, jakarta.el.MethodExpression delegate)
-
-
Method Detail
-
getMethodInfo
public jakarta.el.MethodInfo getMethodInfo(jakarta.el.ELContext elContext)
- Specified by:
getMethodInfoin classjakarta.el.MethodExpression
-
invoke
public Object invoke(jakarta.el.ELContext elContext, Object[] objects)
- Specified by:
invokein classjakarta.el.MethodExpression
-
getExpressionString
public String getExpressionString()
- Specified by:
getExpressionStringin classjakarta.el.Expression
-
equals
public boolean equals(Object o)
- 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
-
-