Class JRTUtil
java.lang.Object
org.aspectj.org.eclipse.jdt.internal.compiler.util.JRTUtil
-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic ClassFileReaderstatic ClassFileReadergetClassfile(File jrt, String fileName, IModule module) static byte[]getClassfileContent(File jrt, String fileName, String module) static InputStreamgetContentFromJrt(File jrt, String fileName, String module) static CtSymstatic org.aspectj.org.eclipse.jdt.internal.compiler.util.JrtFileSystemgetJrtSystem(File image) static org.aspectj.org.eclipse.jdt.internal.compiler.util.JrtFileSystemgetJrtSystem(File image, String release) getModulesDeclaringPackage(File jrt, String qName, String moduleName) static booleanhasCompilationUnit(File jrt, String qualifiedPackageName, String moduleName) static voidreset()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 StringsanitizedFileName(Path path) static voidwalkModuleImage(File image, String release, JRTUtil.JrtFileVisitor<Path> visitor, int notify) static voidwalkModuleImage(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.
-
Field Details
-
DISABLE_CACHE
public static final boolean DISABLE_CACHE -
JAVA_BASE
-
JAVA_BASE_CHAR
public static final char[] JAVA_BASE_CHAR -
JRT_FS_JAR
- See Also:
-
NOTIFY_FILES
public static final int NOTIFY_FILES- See Also:
-
NOTIFY_PACKAGES
public static final int NOTIFY_PACKAGES- See Also:
-
NOTIFY_MODULES
public static final int NOTIFY_MODULES- See Also:
-
NOTIFY_ALL
public static final int NOTIFY_ALL- See Also:
-
-
Constructor Details
-
JRTUtil
public JRTUtil()
-
-
Method Details
-
getJrtSystem
public static org.aspectj.org.eclipse.jdt.internal.compiler.util.JrtFileSystem getJrtSystem(File image) -
getJrtSystem
-
getCtSym
- Throws:
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_PACKAGESandNOTIFY_MODULES.- Parameters:
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.- Throws:
IOException
-
walkModuleImage
public static void walkModuleImage(File image, String release, JRTUtil.JrtFileVisitor<Path> visitor, int notify) throws IOException - Throws:
IOException
-
getContentFromJrt
public static InputStream getContentFromJrt(File jrt, String fileName, String module) throws IOException - Throws:
IOException
-
getClassfileContent
public static byte[] getClassfileContent(File jrt, String fileName, String module) throws IOException - Throws:
IOException
-
getClassfile
public static ClassFileReader getClassfile(File jrt, String fileName, IModule module) throws IOException, ClassFormatException - Throws:
IOExceptionClassFormatException
-
getClassfile
public static ClassFileReader getClassfile(File jrt, String fileName, String module, Predicate<String> moduleNameFilter) throws IOException, ClassFormatException - Throws:
IOExceptionClassFormatException
-
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.- Parameters:
path-- Returns:
- bytes or null
- Throws:
IOException- any IO exception other than NoSuchFileException
-