home *** CD-ROM | disk | FTP | other *** search
/ Symantec Visual Cafe for Java 2.5 / symantec-visual-cafe-2.5-database-dev-edition.iso / VPage / Java.bin / CLASSES.ZIP / sun / tools / java / Package.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-07-08  |  2.7 KB  |  66 lines

  1. package sun.tools.java;
  2.  
  3. import java.io.File;
  4. import java.io.IOException;
  5. import java.util.Enumeration;
  6.  
  7. public class Package {
  8.    ClassPath path;
  9.    String pkg;
  10.  
  11.    public Package(ClassPath var1, Identifier var2) throws IOException {
  12.       if (var2.isInner()) {
  13.          var2 = Identifier.lookup(var2.getQualifier(), var2.getFlatName());
  14.       }
  15.  
  16.       this.path = var1;
  17.       this.pkg = var2.toString().replace('.', File.separatorChar);
  18.    }
  19.  
  20.    public boolean classExists(Identifier var1) {
  21.       return this.getBinaryFile(var1) != null || !var1.isInner() && this.getSourceFile(var1) != null;
  22.    }
  23.  
  24.    public boolean exists() {
  25.       ClassFile var1 = this.path.getDirectory(this.pkg);
  26.       if (var1 != null) {
  27.          return var1.isDirectory();
  28.       } else {
  29.          String var2 = this.pkg + File.separator;
  30.          return this.path.getFiles(var2, ".class").hasMoreElements() || this.path.getFiles(var2, ".java").hasMoreElements();
  31.       }
  32.    }
  33.  
  34.    private String makeName(String var1) {
  35.       return this.pkg.equals("") ? var1 : this.pkg + File.separator + var1;
  36.    }
  37.  
  38.    public ClassFile getBinaryFile(Identifier var1) {
  39.       var1 = Type.mangleInnerType(var1);
  40.       String var2 = var1.toString() + ".class";
  41.       return this.path.getFile(this.makeName(var2));
  42.    }
  43.  
  44.    public ClassFile getSourceFile(Identifier var1) {
  45.       var1 = var1.getTopName();
  46.       String var2 = var1.toString() + ".java";
  47.       return this.path.getFile(this.makeName(var2));
  48.    }
  49.  
  50.    public ClassFile getSourceFile(String var1) {
  51.       return var1.endsWith(".java") ? this.path.getFile(this.makeName(var1)) : null;
  52.    }
  53.  
  54.    public Enumeration getSourceFiles() {
  55.       return this.path.getFiles(this.pkg, ".java");
  56.    }
  57.  
  58.    public Enumeration getBinaryFiles() {
  59.       return this.path.getFiles(this.pkg, ".class");
  60.    }
  61.  
  62.    public String toString() {
  63.       return this.pkg.equals("") ? "unnamed package" : "package " + this.pkg;
  64.    }
  65. }
  66.