Class 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 Detail

      • SYSTEM_CLASS_PATH

        public static final ClassPath SYSTEM_CLASS_PATH
    • Constructor Detail

      • ClassPath

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

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

      • 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
      • 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,
                                                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