34 import java.util.List;
35 import java.util.zip.ZipEntry;
36 import java.util.zip.ZipInputStream;
37
38
39 public final class Module {
40 private String filename;
41 private ModuleType moduleType;
42
43 public enum JarType {All, UnnamedJar, ModularJar}
44 public enum ModuleType {Unknown, UnnamedJar, ModularJar, Jmod, ExplodedModule}
45
46 public Module(File AFile) {
47 super();
48 filename = AFile.getPath();
49 moduleType = getModuleType(AFile);
50 }
51
52 public String getModuleName() {
53 File file = new File(getFileName());
54 return getFileWithoutExtension(file.getName());
55 }
56
57 public String getFileName() {
58 return filename;
59 }
60
61 public ModuleType getModuleType() {
62 return moduleType;
63 }
64
65 private static ModuleType getModuleType(File AFile) {
66 ModuleType result = ModuleType.Unknown;
67 String filename = AFile.getAbsolutePath();
68
69 if (AFile.isFile()) {
70 if (filename.endsWith(".jmod")) {
71 result = ModuleType.Jmod;
72 }
73 else if (filename.endsWith(".jar")) {
74 JarType status = isModularJar(filename);
|
34 import java.util.List;
35 import java.util.zip.ZipEntry;
36 import java.util.zip.ZipInputStream;
37
38
39 public final class Module {
40 private String filename;
41 private ModuleType moduleType;
42
43 public enum JarType {All, UnnamedJar, ModularJar}
44 public enum ModuleType {Unknown, UnnamedJar, ModularJar, Jmod, ExplodedModule}
45
46 public Module(File AFile) {
47 super();
48 filename = AFile.getPath();
49 moduleType = getModuleType(AFile);
50 }
51
52 public String getModuleName() {
53 File file = new File(getFileName());
54 // do not try to remove extension for directories
55 return moduleType == ModuleType.ExplodedModule ?
56 file.getName() : getFileWithoutExtension(file.getName());
57 }
58
59 public String getFileName() {
60 return filename;
61 }
62
63 public ModuleType getModuleType() {
64 return moduleType;
65 }
66
67 private static ModuleType getModuleType(File AFile) {
68 ModuleType result = ModuleType.Unknown;
69 String filename = AFile.getAbsolutePath();
70
71 if (AFile.isFile()) {
72 if (filename.endsWith(".jmod")) {
73 result = ModuleType.Jmod;
74 }
75 else if (filename.endsWith(".jar")) {
76 JarType status = isModularJar(filename);
|