Package edu.umd.cs.findbugs.ba
Class URLClassPath
java.lang.Object
edu.umd.cs.findbugs.ba.URLClassPath
- All Implemented Interfaces:
Serializable
,AutoCloseable
A work-alike class to use instead of BCEL's ClassPath class. The main
difference is that URLClassPath can load classfiles from URLs.
- Author:
- David Hovemeyer
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
Add given filename/URL to the classpath.void
close()
Close all underlying resources.Return the classpath string.static String
getFileExtension
(String fileName) Get the file extension of given fileName.static String
getURLProtocol
(String urlString) Get the URL protocol of given URL string.static boolean
isArchiveExtension
(String fileExtension) Determine if given file extension indicates an archive file.org.apache.bcel.classfile.JavaClass
lookupClass
(String className) Look up a class from the classpath.
-
Constructor Details
-
URLClassPath
public URLClassPath()Constructor. Creates a classpath with no elements.
-
-
Method Details
-
addURL
Add given filename/URL to the classpath. If no URL protocol is given, the filename is assumed to be a local file or directory. Remote directories must be specified with a "/" character at the end of the URL.- Parameters:
fileName
- filename or URL of codebase (directory or archive file)- Throws:
IOException
- if entry is invalid or does not exist
-
getClassPath
Return the classpath string.- Returns:
- the classpath string
-
lookupClass
public org.apache.bcel.classfile.JavaClass lookupClass(String className) throws ClassNotFoundException Look up a class from the classpath.- Parameters:
className
- name of class to look up- Returns:
- the JavaClass object for the class
- Throws:
ClassNotFoundException
- if the class couldn't be found
-
close
public void close()Close all underlying resources.- Specified by:
close
in interfaceAutoCloseable
-
getURLProtocol
Get the URL protocol of given URL string.- Parameters:
urlString
- the URL string- Returns:
- the protocol name ("http", "file", etc.), or null if there is no protocol
-
getFileExtension
Get the file extension of given fileName.- Returns:
- the file extension, or null if there is no file extension
-
isArchiveExtension
Determine if given file extension indicates an archive file.- Parameters:
fileExtension
- the file extension (e.g., ".jar")- Returns:
- true if the file extension indicates an archive, false otherwise
-