1 | |
|
2 | |
|
3 | |
|
4 | |
|
5 | |
|
6 | |
|
7 | |
|
8 | |
|
9 | |
|
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 | |
|
20 | |
|
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 | |
} |