Class ClassPath

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

public class ClassPath extends Object implements Closeable
Loads class files from the CLASSPATH. Inspired by sun.tools.ClassPath.
  • Field Details

  • Constructor Details

    • ClassPath

      Deprecated.
      Use SYSTEM_CLASS_PATH constant
      Search for classes in CLASSPATH.
    • ClassPath

      public ClassPath(ClassPath parent, String classPathString)
    • 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 obj)
      Overrides:
      equals in class Object
    • getBytes

      public byte[] getBytes(String name) throws IOException
      Parameters:
      name - fully qualified file name, e.g. java/lang/String
      Returns:
      byte array for class
      Throws:
      IOException - if an I/O error occurs.
    • 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 - if an I/O error occurs.
    • getClassFile

      Parameters:
      name - fully qualified class name, e.g. java.lang.String
      Returns:
      input stream for class
      Throws:
      IOException - if an I/O error occurs.
    • 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 - if an I/O error occurs.
    • getInputStream

      Gets an InputStream.

      The caller is responsible for closing the InputStream.

      Parameters:
      name - fully qualified class name, e.g. java.lang.String
      Returns:
      input stream for class
      Throws:
      IOException - if an I/O error occurs.
    • getInputStream

      public InputStream getInputStream(String name, String suffix) throws IOException
      Gets an InputStream for a class or resource on the classpath.

      The caller is responsible for closing the InputStream.

      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 - if an I/O error occurs.
    • 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 - if an I/O error occurs.
    • 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 - if an I/O error occurs.
    • 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

      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

      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