Coverage Report - org.eclipse.swtbot.swt.finder.resolvers.DefaultChildrenResolver
 
Classes in this File Line Coverage Branch Coverage Complexity
DefaultChildrenResolver
94%
18/19
75%
12/16
6.5
 
 1  
 /*******************************************************************************
 2  
  * Copyright (c) 2008 Ketan Padegaonkar and others.
 3  
  * All rights reserved. This program and the accompanying materials
 4  
  * are made available under the terms of the Eclipse Public License v1.0
 5  
  * which accompanies this distribution, and is available at
 6  
  * http://www.eclipse.org/legal/epl-v10.html
 7  
  * 
 8  
  * Contributors:
 9  
  *     Ketan Padegaonkar - initial API and implementation
 10  
  *******************************************************************************/
 11  
 package org.eclipse.swtbot.swt.finder.resolvers;
 12  
 
 13  
 import java.util.ArrayList;
 14  
 import java.util.Iterator;
 15  
 import java.util.List;
 16  
 
 17  
 import org.eclipse.swt.widgets.Widget;
 18  
 
 19  
 /**
 20  
  * @author Ketan Padegaonkar <KetanPadegaonkar [at] gmail [dot] com>
 21  
  * @version $Id$
 22  
  */
 23  4027
 public class DefaultChildrenResolver extends Resolvable implements IChildrenResolver {
 24  
 
 25  
         public List getChildren(Widget w) {
 26  145485
                 List result = new ArrayList();
 27  
 
 28  145485
                 if (!hasChildren(w))
 29  84503
                         return result;
 30  
 
 31  60982
                 List resolvers = resolver.getResolvers(w.getClass());
 32  
 
 33  121964
                 for (Iterator iterator = resolvers.iterator(); iterator.hasNext();) {
 34  60982
                         IChildrenResolver resolver = (IChildrenResolver) iterator.next();
 35  60982
                         if (resolver.canResolve(w) && resolver.hasChildren(w)) {
 36  60982
                                 List children = resolver.getChildren(w);
 37  60982
                                 if (children != null) {
 38  60982
                                         result.addAll(children);
 39  60982
                                         return result;
 40  
                                 }
 41  
                         }
 42  
                 }
 43  0
                 return result;
 44  
         }
 45  
 
 46  
         public boolean hasChildren(Widget w) {
 47  145485
                 List resolvers = resolver.getResolvers(w.getClass());
 48  371658
                 for (Iterator iterator = resolvers.iterator(); iterator.hasNext();) {
 49  141670
                         IChildrenResolver resolver = (IChildrenResolver) iterator.next();
 50  141670
                         if (resolver.canResolve(w) && resolver.hasChildren(w))
 51  60982
                                 return true;
 52  
                 }
 53  
 
 54  84503
                 return false;
 55  
         }
 56  
 
 57  
 }