public interface AttachedObjectTarget
Within the declaration of a
composite component, an AttachedObjectTarget
allows the composite component author to expose the
semantics of an inner component to the page author without
exposing the rendering or implementation details of the inner
component. See ViewDeclarationLanguage.getComponentMetadata(javax.faces.context.FacesContext, javax.faces.application.Resource)
for the context in
which implementations of this interface are used.
The implementation must ensure that this instance is thread safe and may be shared among different component trees.
Subinterfaces are provided for the common behavioral interfaces:
Behavior
, ValueHolder
, EditableValueHolder
and ActionSource2
. The default VDL implementation
must provide a corresponding Facelets tag handler for each of the
subinterfaces of this interface.
Modifier and Type | Field and Description |
---|---|
static String |
ATTACHED_OBJECT_TARGETS_KEY
The key in the value set of the
composite component |
Modifier and Type | Method and Description |
---|---|
String |
getName()
Returns the name by which this attached object target is exposed to the page author. |
List<UIComponent> |
getTargets(UIComponent topLevelComponent)
Returns the
|
static final String ATTACHED_OBJECT_TARGETS_KEY
The key in the value set of the
composite component BeanDescriptor
, the
value for which is a
List<AttachedObjectTarget>
.
List<UIComponent> getTargets(UIComponent topLevelComponent)
Returns the
List<UIComponent>
that this
AttachedObjectTarget
exposes. Each attached
object exposed by the composite component author
may point at multiple UIComponent
instances within
the composite component. This method is used by the ViewDeclarationLanguage.retargetAttachedObjects(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.util.List<javax.faces.view.AttachedObjectHandler>)
method to take the appropriate action on the attached object.
String getName()
Returns the name by which this attached object target is exposed to the page author.
Copyright © 2017 JBoss by Red Hat. All rights reserved.