Coverage Report - org.eclipse.swtbot.generator.SugarGenerator
 
Classes in this File Line Coverage Branch Coverage Complexity
SugarGenerator
0%
0/24
0%
0/6
1.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.generator;
 12  
 
 13  
 import java.util.ArrayList;
 14  
 import java.util.List;
 15  
 import java.util.Set;
 16  
 import java.util.TreeSet;
 17  
 
 18  
 /**
 19  
  * @author Ketan Padegaonkar <KetanPadegaonkar [at] gmail [dot] com>
 20  
  * @version $Id$
 21  
  */
 22  0
 public class SugarGenerator {
 23  
 
 24  0
         private final List<HamcrestWriter>        factoryWriters        = new ArrayList<HamcrestWriter>();
 25  0
         private final List<String>                        factoryMethods        = new ArrayList<String>();
 26  0
         private final Set<String>                        imports                        = new TreeSet<String>();
 27  
 
 28  
         public void addWriter(HamcrestWriter quickReferenceWriter) {
 29  0
                 factoryWriters.add(quickReferenceWriter);
 30  0
         }
 31  
 
 32  
         public void generate() {
 33  0
                 for (HamcrestWriter factoryWriter : factoryWriters) {
 34  0
                         factoryWriter.writeHeader(imports);
 35  0
                         factoryWriter.beginClassDefinition();
 36  0
                         factoryWriter.beginConstructors();
 37  0
                         writeMethods(factoryWriter);
 38  0
                         factoryWriter.writeFooter();
 39  0
                         factoryWriter.flush();
 40  
                 }
 41  0
         }
 42  
 
 43  
         private void writeMethods(HamcrestWriter factoryWriter) {
 44  0
                 for (String method : factoryMethods)
 45  0
                         factoryWriter.writeMethod(method);
 46  0
         }
 47  
 
 48  
         public void close() {
 49  0
                 for (HamcrestWriter factoryWriter : factoryWriters)
 50  0
                         factoryWriter.close();
 51  0
         }
 52  
 
 53  
         public void addFactoryMethods(SWTBotGeneratorFactoryReader doxFactoryReader) {
 54  0
                 factoryMethods.addAll(doxFactoryReader.getMethods());
 55  0
         }
 56  
 
 57  
         public void addImports(SWTBotGeneratorFactoryReader doxFactoryReader) {
 58  0
                 imports.addAll(doxFactoryReader.getImports());
 59  0
         }
 60  
 
 61  
 }