1 15 package org.apache.tapestry.pageload; 16 17 import java.util.Collection ; 18 import java.util.Iterator ; 19 20 import org.apache.tapestry.IComponent; 21 import org.apache.tapestry.Tapestry; 22 23 30 public class ComponentTreeWalker 31 { 32 private IComponentVisitor[] _visitors; 33 34 public ComponentTreeWalker(IComponentVisitor[] visitors) 35 { 36 _visitors = visitors; 37 } 38 39 public void walkComponentTree(IComponent component) 40 { 41 for (int i = 0; i < _visitors.length; i++) 43 { 44 IComponentVisitor visitor = _visitors[i]; 45 visitor.visitComponent(component); 46 } 47 48 Collection components = component.getComponents().values(); 50 51 if (Tapestry.size(components) == 0) 52 return; 53 54 for (Iterator it = components.iterator(); it.hasNext();) 55 { 56 IComponent embedded = (IComponent) it.next(); 57 walkComponentTree(embedded); 58 } 59 } 60 } 61 | Popular Tags |