Package org.apache.bcel.util
Class ClassPath
- java.lang.Object
-
- org.apache.bcel.util.ClassPath
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable
public class ClassPath extends java.lang.Object implements java.io.Closeable
Loads class files from the CLASSPATH. Inspired by sun.tools.ClassPath.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceClassPath.ClassFileContains information about file/ZIP entry of the Java class.
-
Field Summary
Fields Modifier and Type Field Description static ClassPathSYSTEM_CLASS_PATHThe system class path.
-
Constructor Summary
Constructors Constructor Description ClassPath()Deprecated.Use SYSTEM_CLASS_PATH constantClassPath(java.lang.String classPath)Search for classes in given path.ClassPath(ClassPath parent, java.lang.String classPathString)Constructs a ClassPath with a parent and class path string.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()booleanequals(java.lang.Object obj)byte[]getBytes(java.lang.String name)Gets byte array for the given class.byte[]getBytes(java.lang.String name, java.lang.String suffix)Gets byte array for the given file.ClassPath.ClassFilegetClassFile(java.lang.String name)Gets the input stream for the given class.ClassPath.ClassFilegetClassFile(java.lang.String name, java.lang.String suffix)Gets the class file for the given Java class.static java.lang.StringgetClassPath()Checks for class path components in the following properties: "java.class.path", "sun.boot.class.path", "java.ext.dirs"java.io.InputStreamgetInputStream(java.lang.String name)Gets an InputStream.java.io.InputStreamgetInputStream(java.lang.String name, java.lang.String suffix)Gets an InputStream for a class or resource on the classpath.java.lang.StringgetPath(java.lang.String name)Gets the full canonical path for the given file.java.lang.StringgetPath(java.lang.String name, java.lang.String suffix)Gets the full canonical path for the given file.java.net.URLgetResource(java.lang.String name)Gets the URL for the given resource.java.io.InputStreamgetResourceAsStream(java.lang.String name)Gets the InputStream for the given resource.java.util.Enumeration<java.net.URL>getResources(java.lang.String name)Gets an Enumeration of URLs for the given resource.inthashCode()java.lang.StringtoString()
-
-
-
Field Detail
-
SYSTEM_CLASS_PATH
public static final ClassPath SYSTEM_CLASS_PATH
The system class path.
-
-
Constructor Detail
-
ClassPath
@Deprecated public ClassPath()
Deprecated.Use SYSTEM_CLASS_PATH constantSearch for classes in CLASSPATH.
-
ClassPath
public ClassPath(ClassPath parent, java.lang.String classPathString)
Constructs a ClassPath with a parent and class path string.- Parameters:
parent- The parent ClassPath.classPathString- The class path string.
-
ClassPath
public ClassPath(java.lang.String classPath)
Search for classes in given path.- Parameters:
classPath- The class path string.
-
-
Method Detail
-
getClassPath
public static java.lang.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 java.io.IOException
- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Throws:
java.io.IOException
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
getBytes
public byte[] getBytes(java.lang.String name) throws java.io.IOException
Gets byte array for the given class.- Parameters:
name- fully qualified file name, for example java/lang/String.- Returns:
- byte array for class.
- Throws:
java.io.IOException- Thrown if an I/O error occurs.
-
getBytes
public byte[] getBytes(java.lang.String name, java.lang.String suffix) throws java.io.IOException
Gets byte array for the given file.- Parameters:
name- fully qualified file name, for example java/lang/String.suffix- file name ends with suffix, for example .java.- Returns:
- byte array for file on class path.
- Throws:
java.io.IOException- Thrown if an I/O error occurs.
-
getClassFile
public ClassPath.ClassFile getClassFile(java.lang.String name) throws java.io.IOException
Gets the input stream for the given class.- Parameters:
name- fully qualified class name, for exampleString.- Returns:
- input stream for class.
- Throws:
java.io.IOException- Thrown if an I/O error occurs.
-
getClassFile
public ClassPath.ClassFile getClassFile(java.lang.String name, java.lang.String suffix) throws java.io.IOException
Gets the class file for the given Java class.- Parameters:
name- fully qualified file name, for example java/lang/String.suffix- file name ends with suffix, for example .java.- Returns:
- class file for the Java class.
- Throws:
java.io.IOException- Thrown if an I/O error occurs.
-
getInputStream
public java.io.InputStream getInputStream(java.lang.String name) throws java.io.IOException
Gets an InputStream.The caller is responsible for closing the InputStream.
- Parameters:
name- fully qualified class name, for exampleString.- Returns:
- input stream for class.
- Throws:
java.io.IOException- Thrown if an I/O error occurs.
-
getInputStream
public java.io.InputStream getInputStream(java.lang.String name, java.lang.String suffix) throws java.io.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, for example java/lang/String.suffix- file name ends with suff, for example .java.- Returns:
- input stream for file on class path.
- Throws:
java.io.IOException- Thrown if an I/O error occurs.
-
getPath
public java.lang.String getPath(java.lang.String name) throws java.io.IOException
Gets the full canonical path for the given file.- Parameters:
name- name of file to search for, for example java/lang/String.java.- Returns:
- full (canonical) path for file.
- Throws:
java.io.IOException- Thrown if an I/O error occurs.
-
getPath
public java.lang.String getPath(java.lang.String name, java.lang.String suffix) throws java.io.IOException
Gets the full canonical path for the given file.- Parameters:
name- name of file to search for, for example java/lang/String.suffix- file name suffix, for example .java.- Returns:
- full (canonical) path for file, if it exists.
- Throws:
java.io.IOException- Thrown if an I/O error occurs.
-
getResource
public java.net.URL getResource(java.lang.String name)
Gets the URL for the given resource.- Parameters:
name- fully qualified resource name, for example java/lang/String.class.- Returns:
- URL supplying the resource, or null if no resource with that name.
- Since:
- 6.0
-
getResourceAsStream
public java.io.InputStream getResourceAsStream(java.lang.String name)
Gets the InputStream for the given resource.- Parameters:
name- fully qualified resource name, for example java/lang/String.class.- Returns:
- InputStream supplying the resource, or null if no resource with that name.
- Since:
- 6.0
-
getResources
public java.util.Enumeration<java.net.URL> getResources(java.lang.String name)
Gets an Enumeration of URLs for the given resource.- Parameters:
name- fully qualified resource name, for example 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:
hashCodein classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object- Returns:
- used class path string.
-
-