home *** CD-ROM | disk | FTP | other *** search
- package sun.tools.java;
-
- import java.io.File;
- import java.io.IOException;
- import java.util.Enumeration;
-
- public class Package {
- ClassPath path;
- String pkg;
-
- public Package(ClassPath var1, Identifier var2) throws IOException {
- if (var2.isInner()) {
- var2 = Identifier.lookup(var2.getQualifier(), var2.getFlatName());
- }
-
- this.path = var1;
- this.pkg = var2.toString().replace('.', File.separatorChar);
- }
-
- public boolean classExists(Identifier var1) {
- return this.getBinaryFile(var1) != null || !var1.isInner() && this.getSourceFile(var1) != null;
- }
-
- public boolean exists() {
- ClassFile var1 = this.path.getDirectory(this.pkg);
- if (var1 != null) {
- return var1.isDirectory();
- } else {
- String var2 = this.pkg + File.separator;
- return this.path.getFiles(var2, ".class").hasMoreElements() || this.path.getFiles(var2, ".java").hasMoreElements();
- }
- }
-
- private String makeName(String var1) {
- return this.pkg.equals("") ? var1 : this.pkg + File.separator + var1;
- }
-
- public ClassFile getBinaryFile(Identifier var1) {
- var1 = Type.mangleInnerType(var1);
- String var2 = var1.toString() + ".class";
- return this.path.getFile(this.makeName(var2));
- }
-
- public ClassFile getSourceFile(Identifier var1) {
- var1 = var1.getTopName();
- String var2 = var1.toString() + ".java";
- return this.path.getFile(this.makeName(var2));
- }
-
- public ClassFile getSourceFile(String var1) {
- return var1.endsWith(".java") ? this.path.getFile(this.makeName(var1)) : null;
- }
-
- public Enumeration getSourceFiles() {
- return this.path.getFiles(this.pkg, ".java");
- }
-
- public Enumeration getBinaryFiles() {
- return this.path.getFiles(this.pkg, ".class");
- }
-
- public String toString() {
- return this.pkg.equals("") ? "unnamed package" : "package " + this.pkg;
- }
- }
-