1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.myfaces.tobago.apt.generate;
21
22 import java.util.TreeSet;
23 import java.util.Set;
24
25
26 public class Imports {
27
28 private Set<String> imports = new TreeSet<>();
29
30 private String packageName;
31
32 public Imports() {
33 }
34
35 public Imports(final String packageName) {
36 this.packageName = packageName;
37 }
38
39 public void addImport(final String qualifiedName) {
40 if (!ClassUtils.isSystemClass(qualifiedName) && !ClassUtils.isPrimitive(qualifiedName)) {
41 if (!(packageName != null && packageName.equals(ClassUtils.getPackageName(qualifiedName)))) {
42 final int index = qualifiedName.lastIndexOf('$');
43 final String name = index != -1 ? qualifiedName.substring(0, index) : qualifiedName;
44 if (!imports.contains(name)) {
45 imports.add(name);
46 }
47 }
48 }
49 }
50
51 public void addImports(final Imports newImports) {
52 for (final String qualifiedName : newImports.imports) {
53 addImport(qualifiedName);
54 }
55 }
56
57 public boolean contains(final String qualifiedClassName) {
58 return imports.contains(qualifiedClassName);
59 }
60
61 public Set<String> getImports() {
62 return imports;
63 }
64
65 }