Package ch.obermuhlner.scriptengine.java
Class MemoryFileManager
java.lang.Object
javax.tools.ForwardingJavaFileManager<JavaFileManager>
ch.obermuhlner.scriptengine.java.MemoryFileManager
- All Implemented Interfaces:
Closeable
,Flushable
,AutoCloseable
,JavaFileManager
,OptionChecker
A
JavaFileManager
that manages some files in memory,
delegating the other files to the parent JavaFileManager
.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static class
(package private) static class
(package private) static class
Nested classes/interfaces inherited from interface javax.tools.JavaFileManager
JavaFileManager.Location
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Map
<String, MemoryFileManager.ClassMemoryJavaFileObject> private final ClassLoader
Fields inherited from class javax.tools.ForwardingJavaFileManager
fileManager
-
Constructor Summary
ConstructorsConstructorDescriptionMemoryFileManager
(JavaFileManager fileManager, ClassLoader parentClassLoader) Creates a MemoryJavaFileManager. -
Method Summary
Modifier and TypeMethodDescriptioncreateSourceFileObject
(Object origin, String name, String code) getClassLoader
(JavaFileManager.Location location) getJavaFileForOutput
(JavaFileManager.Location location, String className, JavaFileObject.Kind kind, FileObject sibling) inferBinaryName
(JavaFileManager.Location location, JavaFileObject file) list
(JavaFileManager.Location location, String packageName, Set<JavaFileObject.Kind> kinds, boolean recurse) Methods inherited from class javax.tools.ForwardingJavaFileManager
close, contains, flush, getFileForInput, getFileForOutput, getFileForOutputForOriginatingFiles, getJavaFileForInput, getJavaFileForOutputForOriginatingFiles, getLocationForModule, getLocationForModule, getServiceLoader, handleOption, hasLocation, inferModuleName, isSameFile, isSupportedOption, listLocationsForModules
-
Field Details
-
mapNameToClasses
-
parentClassLoader
-
-
Constructor Details
-
MemoryFileManager
Creates a MemoryJavaFileManager.- Parameters:
fileManager
- theJavaFileManager
parentClassLoader
- the parentClassLoader
-
-
Method Details
-
memoryClasses
-
createSourceFileObject
-
getClassLoader
- Specified by:
getClassLoader
in interfaceJavaFileManager
- Overrides:
getClassLoader
in classForwardingJavaFileManager<JavaFileManager>
-
list
public Iterable<JavaFileObject> list(JavaFileManager.Location location, String packageName, Set<JavaFileObject.Kind> kinds, boolean recurse) throws IOException - Specified by:
list
in interfaceJavaFileManager
- Overrides:
list
in classForwardingJavaFileManager<JavaFileManager>
- Throws:
IOException
-
inferBinaryName
- Specified by:
inferBinaryName
in interfaceJavaFileManager
- Overrides:
inferBinaryName
in classForwardingJavaFileManager<JavaFileManager>
-
getJavaFileForOutput
public JavaFileObject getJavaFileForOutput(JavaFileManager.Location location, String className, JavaFileObject.Kind kind, FileObject sibling) throws IOException - Specified by:
getJavaFileForOutput
in interfaceJavaFileManager
- Overrides:
getJavaFileForOutput
in classForwardingJavaFileManager<JavaFileManager>
- Throws:
IOException
-