Class ClassPath

java.lang.Object
org.apache.bcel.util.ClassPath
All Implemented Interfaces:
Closeable, AutoCloseable

public class ClassPath extends Object implements Closeable
Responsible for loading (class) files from the CLASSPATH. Inspired by sun.tools.ClassPath.
  • Field Details

    • SYSTEM_CLASS_PATH

      public static final ClassPath SYSTEM_CLASS_PATH
  • Constructor Details

    • ClassPath

      @Deprecated public ClassPath()
      Deprecated.
      Use SYSTEM_CLASS_PATH constant
      Search for classes in CLASSPATH.
    • ClassPath

      public ClassPath(ClassPath parent, String classPath)
    • ClassPath

      public ClassPath(String classPath)
      Search for classes in given path.
      Parameters:
      classPath -
  • Method Details

    • getClassPath

      public static String getClassPath()
      Checks for class path components in the following properties: "java.class.path", "sun.boot.class.path", "java.ext.dirs"
      Returns:
      class path as used by default by BCEL
    • close

      public void close() throws IOException
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Throws:
      IOException
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • getBytes

      public byte[] getBytes(String name) throws IOException
      Returns:
      byte array for class
      Throws:
      IOException
    • getBytes

      public byte[] getBytes(String name, String suffix) throws IOException
      Parameters:
      name - fully qualified file name, e.g. java/lang/String
      suffix - file name ends with suffix, e.g. .java
      Returns:
      byte array for file on class path
      Throws:
      IOException
    • getClassFile

      public ClassPath.ClassFile getClassFile(String name) throws IOException
      Parameters:
      name - fully qualified class name, e.g. java.lang.String
      Returns:
      input stream for class
      Throws:
      IOException
    • getClassFile

      public ClassPath.ClassFile getClassFile(String name, String suffix) throws IOException
      Parameters:
      name - fully qualified file name, e.g. java/lang/String
      suffix - file name ends with suff, e.g. .java
      Returns:
      class file for the java class
      Throws:
      IOException
    • getInputStream

      public InputStream getInputStream(String name) throws IOException
      Parameters:
      name - fully qualified class name, e.g. java.lang.String
      Returns:
      input stream for class
      Throws:
      IOException
    • getInputStream

      public InputStream getInputStream(String name, String suffix) throws IOException
      Return stream for class or resource on CLASSPATH.
      Parameters:
      name - fully qualified file name, e.g. java/lang/String
      suffix - file name ends with suff, e.g. .java
      Returns:
      input stream for file on class path
      Throws:
      IOException
    • getPath

      public String getPath(String name) throws IOException
      Parameters:
      name - name of file to search for, e.g. java/lang/String.java
      Returns:
      full (canonical) path for file
      Throws:
      IOException
    • getPath

      public String getPath(String name, String suffix) throws IOException
      Parameters:
      name - name of file to search for, e.g. java/lang/String
      suffix - file name suffix, e.g. .java
      Returns:
      full (canonical) path for file, if it exists
      Throws:
      IOException
    • getResource

      public URL getResource(String name)
      Parameters:
      name - fully qualified resource name, e.g. java/lang/String.class
      Returns:
      URL supplying the resource, or null if no resource with that name.
      Since:
      6.0
    • getResourceAsStream

      public InputStream getResourceAsStream(String name)
      Parameters:
      name - fully qualified resource name, e.g. java/lang/String.class
      Returns:
      InputStream supplying the resource, or null if no resource with that name.
      Since:
      6.0
    • getResources

      public Enumeration<URL> getResources(String name)
      Parameters:
      name - fully qualified resource name, e.g. java/lang/String.class
      Returns:
      An Enumeration of URLs supplying the resource, or an empty Enumeration if no resource with that name.
      Since:
      6.0
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object
      Returns:
      used class path string