Klasse JRTUtil
java.lang.Object
org.aspectj.org.eclipse.jdt.internal.compiler.util.JRTUtil
-
Verschachtelte Klassen - Übersicht
Modifizierer und TypKlasseBeschreibungstatic class
static interface
-
Feldübersicht
-
Konstruktorübersicht
-
Methodenübersicht
Modifizierer und TypMethodeBeschreibungstatic ClassFileReader
getClassfile
(File jrt, String fileName, String module) static ClassFileReader
static byte[]
getClassfileContent
(File jrt, String fileName, String module) static InputStream
getContentFromJrt
(File jrt, String fileName, String module) static CtSym
static FileSystem
getJarFileSystem
(Path path) Convenient method to get access to the given archive as aFileSystem
.static String
getJdkRelease
(File image) static org.aspectj.org.eclipse.jdt.internal.compiler.util.JrtFileSystem
getJrtSystem
(File image) static org.aspectj.org.eclipse.jdt.internal.compiler.util.JrtFileSystem
getJrtSystem
(File image, String release) getModulesDeclaringPackage
(File jrt, String qName, String moduleName) static boolean
hasCompilationUnit
(File jrt, String qualifiedPackageName, String moduleName) static void
reset()
TEST ONLY (use when changing the "modules.to.load" property).static byte[]
safeReadBytes
(Path path) Tries to read all bytes of the file denoted by path, returns null if the file could not be found or if the read was interrupted.static String
sanitizedFileName
(Path path) static void
walkModuleImage
(File image, String release, JRTUtil.JrtFileVisitor<Path> visitor, int notify) static void
walkModuleImage
(File image, JRTUtil.JrtFileVisitor<Path> visitor, int notify) Given the path of a modular image file, this method walks the archive content and notifies the supplied visitor about packages and files visited.
-
Felddetails
-
DISABLE_CACHE
public static final boolean DISABLE_CACHE -
PROPAGATE_IO_ERRORS
public static final boolean PROPAGATE_IO_ERRORS -
JAVA_BASE
-
JAVA_BASE_CHAR
public static final char[] JAVA_BASE_CHAR -
JRT_FS_JAR
- Siehe auch:
-
NOTIFY_FILES
public static final int NOTIFY_FILES- Siehe auch:
-
NOTIFY_PACKAGES
public static final int NOTIFY_PACKAGES- Siehe auch:
-
NOTIFY_MODULES
public static final int NOTIFY_MODULES- Siehe auch:
-
NOTIFY_ALL
public static final int NOTIFY_ALL- Siehe auch:
-
-
Konstruktordetails
-
JRTUtil
public JRTUtil()
-
-
Methodendetails
-
getJrtSystem
public static org.aspectj.org.eclipse.jdt.internal.compiler.util.JrtFileSystem getJrtSystem(File image) -
getJrtSystem
public static org.aspectj.org.eclipse.jdt.internal.compiler.util.JrtFileSystem getJrtSystem(File image, String release) - Parameter:
image
- the path to the root of the JRE whose libraries we are interested in.release
---release
version
-
getJarFileSystem
Convenient method to get access to the given archive as aFileSystem
.Note: if the file system for given archive was already created before, the method will reuse existing file system, otherwise a new
FileSystem
object will be created.The caller should not close returned
FileSystem
as it might be shared with others.- Parameter:
path
- absolute file path to a jar archive- Gibt zurück:
- never null
- Löst aus:
IOException
-
getCtSym
- Löst aus:
IOException
-
reset
public static void reset()TEST ONLY (use when changing the "modules.to.load" property). -
walkModuleImage
public static void walkModuleImage(File image, JRTUtil.JrtFileVisitor<Path> visitor, int notify) throws IOException Given the path of a modular image file, this method walks the archive content and notifies the supplied visitor about packages and files visited. The file system contains the following top level directories: /modules/$MODULE/$PATH /packages/$PACKAGE/$MODULE The latter provides quick look up of the module that contains a particular package. However, this method only notifies its clients of the entries within the modules (former) sub-directory. Clients can decide which notifications they want to receive. SeeNOTIFY_ALL
,NOTIFY_FILES
,NOTIFY_PACKAGES
andNOTIFY_MODULES
.- Parameter:
image
- a java.io.File handle to the JRT image.visitor
- an instance of JrtFileVisitor to be notified of the entries in the JRT image.notify
- flag indicating the notifications the client is interested in.- Löst aus:
IOException
-
walkModuleImage
public static void walkModuleImage(File image, String release, JRTUtil.JrtFileVisitor<Path> visitor, int notify) throws IOException - Löst aus:
IOException
-
getContentFromJrt
public static InputStream getContentFromJrt(File jrt, String fileName, String module) throws IOException - Löst aus:
IOException
-
getClassfileContent
public static byte[] getClassfileContent(File jrt, String fileName, String module) throws IOException - Löst aus:
IOException
-
getClassfile
public static ClassFileReader getClassfile(File jrt, String fileName, String module) throws IOException, ClassFormatException - Löst aus:
IOException
ClassFormatException
-
getClassfile
public static ClassFileReader getClassfile(File jrt, String fileName, String module, Predicate<String> moduleNameFilter) throws IOException, ClassFormatException - Löst aus:
IOException
ClassFormatException
-
getModulesDeclaringPackage
-
hasCompilationUnit
-
sanitizedFileName
-
safeReadBytes
Tries to read all bytes of the file denoted by path, returns null if the file could not be found or if the read was interrupted.- Parameter:
path
-- Gibt zurück:
- bytes or null
- Löst aus:
IOException
- any IO exception other than NoSuchFileException
-
getJdkRelease
- Parameter:
image
- jrt file path- Gibt zurück:
- JDK release corresponding to given jrt file, read from "release" file, if available. May return null.
-