1 package org.apache.maven.surefire.booter;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import javax.annotation.Nonnull;
23 import java.io.File;
24 import java.util.Collection;
25 import java.util.List;
26
27 import static java.util.Collections.unmodifiableCollection;
28 import static java.util.Collections.unmodifiableList;
29 import static java.util.Objects.requireNonNull;
30
31
32
33
34
35
36
37 public final class ModularClasspath
38 {
39 private final String moduleNameFromDescriptor;
40 private final List<String> modulePath;
41 private final Collection<String> packages;
42 private final File patchFile;
43 private final boolean isMainDescriptor;
44
45 public ModularClasspath( @Nonnull String moduleNameFromDescriptor,
46 @Nonnull List<String> modulePath,
47 @Nonnull Collection<String> packages,
48 File patchFile,
49 boolean isMainDescriptor )
50 {
51 this.moduleNameFromDescriptor = moduleNameFromDescriptor;
52 this.modulePath = modulePath;
53 this.packages = packages;
54 this.patchFile =
55 isMainDescriptor ? requireNonNull( patchFile, "patchFile should not be null" ) : patchFile;
56 this.isMainDescriptor = isMainDescriptor;
57 }
58
59 @Nonnull
60 public String getModuleNameFromDescriptor()
61 {
62 return moduleNameFromDescriptor;
63 }
64
65 @Nonnull
66 public List<String> getModulePath()
67 {
68 return unmodifiableList( modulePath );
69 }
70
71 @Nonnull
72 public Collection<String> getPackages()
73 {
74 return unmodifiableCollection( packages );
75 }
76
77 public File getPatchFile()
78 {
79 return patchFile;
80 }
81
82 public boolean isMainDescriptor()
83 {
84 return isMainDescriptor;
85 }
86 }