1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.mybatis.generator.api.dom.java;
17
18 import java.util.ArrayList;
19 import java.util.List;
20 import java.util.Set;
21 import java.util.TreeSet;
22
23 public class TopLevelClass extends InnerClass implements CompilationUnit {
24
25 private final Set<FullyQualifiedJavaType> importedTypes = new TreeSet<>();
26
27 private final Set<String> staticImports = new TreeSet<>();
28
29 private final List<String> fileCommentLines = new ArrayList<>();
30
31 public TopLevelClass(FullyQualifiedJavaType type) {
32 super(type);
33 }
34
35 public TopLevelClass(String typeName) {
36 this(new FullyQualifiedJavaType(typeName));
37 }
38
39 @Override
40 public Set<FullyQualifiedJavaType> getImportedTypes() {
41 return importedTypes;
42 }
43
44 public void addImportedType(String importedType) {
45 addImportedType(new FullyQualifiedJavaType(importedType));
46 }
47
48 @Override
49 public void addImportedType(FullyQualifiedJavaType importedType) {
50 if (importedType.isExplicitlyImported()
51 && !importedType.getPackageName().equals(
52 getType().getPackageName())
53 && !importedType.getShortName().equals(getType().getShortName())) {
54 importedTypes.add(importedType);
55 }
56 }
57
58 @Override
59 public void addFileCommentLine(String commentLine) {
60 fileCommentLines.add(commentLine);
61 }
62
63 @Override
64 public List<String> getFileCommentLines() {
65 return fileCommentLines;
66 }
67
68 @Override
69 public void addImportedTypes(Set<FullyQualifiedJavaType> importedTypes) {
70 this.importedTypes.addAll(importedTypes);
71 }
72
73 @Override
74 public Set<String> getStaticImports() {
75 return staticImports;
76 }
77
78 @Override
79 public void addStaticImport(String staticImport) {
80 staticImports.add(staticImport);
81 }
82
83 @Override
84 public void addStaticImports(Set<String> staticImports) {
85 this.staticImports.addAll(staticImports);
86 }
87
88 @Override
89 public <R> R accept(CompilationUnitVisitor<R> visitor) {
90 return visitor.visit(this);
91 }
92 }