# Package javax.faces.component.visit

APIs for traversing a user interface component view.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  VisitCallback | A simple callback interface that enables taking action on a specific UIComponent (either facet or child) during a component tree visit.

- Class Summary
  Class | Description
  --- | ---
  VisitContext | A context object that is used to hold state relating to performing a component tree visit.
  VisitContextFactory | Provide for separation of interface and implementation for the `VisitContext` contract.
  VisitContextWrapper | Provides a simple implementation of `VisitContext` that can be subclassed by developers wishing to provide specialized behavior to an existing `VisitContext` instance.

- Enum Summary
  Enum | Description
  --- | ---
  VisitHint | An enum that specifies hints that impact the behavior of a component tree visit.
  VisitResult | An enum that specifies the possible results of a call to `VisitCallback.visit(javax.faces.component.visit.VisitContext, javax.faces.component.UIComponent)`.

## Package javax.faces.component.visit Description

APIs for traversing a user interface component view.

The following example visits all nodes in the view.

1. UIViewRoot root = facesContext.getViewRoot();
2. root.visitTree(VisitContext.createVisitContext(context),
3. new VisitCallback() {
4. public VisitResult visit(VisitContext context,
5. UIComponent target) {
6. // take some action on target
7. return VisitResult.ACCEPT;
8. }
9. });

The following example visits two subtrees within the component view.

1. Set<String> toVisit = getSet("form1:optionsPanel", "form2:detailPanel");
2. UIViewRoot root = facesContext.getViewRoot();
3. root.visitTree(VisitContext.createVisitContext(context, toVisit, null),
4. new VisitCallback() {
5. public VisitResult visit(VisitContext context,
6. UIComponent target) {
7. // take some action on target
8. return VisitResult.ACCEPT;
9. }
10. });

Note that every child node of those two subtrees is visited.

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.