Class JrtfsCodeBase
- java.lang.Object
-
- edu.umd.cs.findbugs.classfile.impl.AbstractScannableCodeBase
-
- edu.umd.cs.findbugs.classfile.impl.JrtfsCodeBase
-
- All Implemented Interfaces:
ICodeBase
,IScannableCodeBase
,java.lang.AutoCloseable
public class JrtfsCodeBase extends AbstractScannableCodeBase
Code base supporting Java 9 new jimage packed modules
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
JrtfsCodeBase.JrtfsCodebaseEntry
class
JrtfsCodeBase.JrtfsCodeBaseIterator
-
Nested classes/interfaces inherited from interface edu.umd.cs.findbugs.classfile.ICodeBase
ICodeBase.Discovered
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.String
fileName
private java.nio.file.FileSystem
fs
private java.util.Map<java.lang.String,java.lang.Object>
packageToModuleMap
Key is package name in bytecode notation (e.g.private static int
PRIME
private java.nio.file.Path
root
-
Constructor Summary
Constructors Constructor Description JrtfsCodeBase(ICodeBaseLocator codeBaseLocator, java.lang.String fileName)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
This method should be called when done using the code base.private ICodeBaseEntry
createEntry(java.lang.String resourceName, java.lang.String moduleName)
java.util.Map<java.lang.String,java.lang.Object>
createPackageToModuleMap(java.nio.file.FileSystem fs)
boolean
equals(java.lang.Object obj)
(package private) static java.lang.String
fileName(java.nio.file.Path p)
private static java.lang.String
getPackage(java.lang.String resourceName)
java.lang.String
getPathName()
Get the filesystem pathname of this codebase.int
hashCode()
(package private) static boolean
isClassFile(java.nio.file.Path p)
ICodeBaseIterator
iterator()
Get an iterator over the resources in the this code base.ICodeBaseEntry
lookupResource(java.lang.String resourceName)
Look up a resource in this code base.java.lang.String
toString()
-
Methods inherited from class edu.umd.cs.findbugs.classfile.impl.AbstractScannableCodeBase
addLastModifiedTime, addResourceNameTranslation, containsSourceFiles, getCodeBaseLocator, getHowDiscovered, getLastModifiedTime, isApplicationCodeBase, setApplicationCodeBase, setHowDiscovered, setLastModifiedTime, translateResourceName
-
-
-
-
Field Detail
-
PRIME
private static final int PRIME
- See Also:
- Constant Field Values
-
fs
private java.nio.file.FileSystem fs
-
fileName
private final java.lang.String fileName
-
root
private java.nio.file.Path root
-
packageToModuleMap
private java.util.Map<java.lang.String,java.lang.Object> packageToModuleMap
Key is package name in bytecode notation (e.g. 'java/lang').Values are either plain Strings for single-module packages, or sets of Strings for packages spread over multiple modules
-
-
Constructor Detail
-
JrtfsCodeBase
public JrtfsCodeBase(ICodeBaseLocator codeBaseLocator, @Nonnull java.lang.String fileName)
-
-
Method Detail
-
createPackageToModuleMap
public java.util.Map<java.lang.String,java.lang.Object> createPackageToModuleMap(java.nio.file.FileSystem fs) throws java.io.IOException
- Throws:
java.io.IOException
-
lookupResource
@CheckForNull public ICodeBaseEntry lookupResource(java.lang.String resourceName)
Description copied from interface:ICodeBase
Look up a resource in this code base.- Parameters:
resourceName
- name of the resource to look up- Returns:
- ICodeBaseEntry representing the resource or null if the resource cannot be found in this code base
-
createEntry
@CheckForNull private ICodeBaseEntry createEntry(java.lang.String resourceName, java.lang.String moduleName)
-
getPackage
private static java.lang.String getPackage(java.lang.String resourceName)
-
getPathName
public java.lang.String getPathName()
Description copied from interface:ICodeBase
Get the filesystem pathname of this codebase.- Returns:
- the filesystem pathname of this codebase, or null if this codebase is not accessible via the filesystem
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
close
public void close()
Description copied from interface:ICodeBase
This method should be called when done using the code base.
-
iterator
public ICodeBaseIterator iterator() throws java.lang.InterruptedException
Description copied from interface:IScannableCodeBase
Get an iterator over the resources in the this code base.- Returns:
- ICodeBaseIterator over the resources in the code base
- Throws:
java.lang.InterruptedException
-
fileName
@Nonnull static java.lang.String fileName(java.nio.file.Path p)
-
isClassFile
static boolean isClassFile(java.nio.file.Path p)
-
-