Interface AttachedObjectTarget

All Known Subinterfaces:
ActionSource2AttachedObjectTarget, ActionSourceAttachedObjectTarget, BehaviorHolderAttachedObjectTarget, EditableValueHolderAttachedObjectTarget, ValueHolderAttachedObjectTarget

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(FacesContext, 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 ActionSource. The default VDL implementation must provide a corresponding Facelets tag handler for each of the subinterfaces of this interface.

Since:
2.0
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    The key in the value set of the composite component BeanDescriptor, the value for which is a List<AttachedObjectTarget>.
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns the name by which this attached object target is exposed to the page author.
    getTargets(UIComponent topLevelComponent)
    Returns the List<UIComponent> that this AttachedObjectTarget exposes.
  • Field Details

    • ATTACHED_OBJECT_TARGETS_KEY

      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>.

      See Also:
  • Method Details

    • getTargets

      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(FacesContext, UIComponent, List) method to take the appropriate action on the attached object.

      Parameters:
      topLevelComponent - the top level component for this composite component.
      Returns:
      the result as specified above
    • getName

      String getName()

      Returns the name by which this attached object target is exposed to the page author.

      Returns:
      the name of the attached object target