Class CompilingClassLoader.InMemoryFileManager

  • All Implemented Interfaces:
    java.io.Closeable, java.io.Flushable, java.lang.AutoCloseable, javax.tools.JavaFileManager, javax.tools.OptionChecker
    Enclosing class:
    CompilingClassLoader

    private class CompilingClassLoader.InMemoryFileManager
    extends javax.tools.ForwardingJavaFileManager<javax.tools.JavaFileManager>
    Provides an in-memory representation of JavaFileManager abstraction, so we do not need to write any files to disk. When files are written to, rather than putting the bytes on disk, they are appended to buffers in byteCodeForClasses.
    See Also:
    JavaFileManager
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface javax.tools.JavaFileManager

        javax.tools.JavaFileManager.Location
    • Field Summary

      • Fields inherited from class javax.tools.ForwardingJavaFileManager

        fileManager
    • Constructor Summary

      Constructors 
      Constructor Description
      InMemoryFileManager​(javax.tools.JavaFileManager fileManager)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      javax.tools.JavaFileObject getJavaFileForOutput​(javax.tools.JavaFileManager.Location location, java.lang.String className, javax.tools.JavaFileObject.Kind kind, javax.tools.FileObject sibling)  
      • Methods inherited from class javax.tools.ForwardingJavaFileManager

        close, flush, getClassLoader, getFileForInput, getFileForOutput, getJavaFileForInput, handleOption, hasLocation, inferBinaryName, isSameFile, isSupportedOption, list
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • InMemoryFileManager

        public InMemoryFileManager​(javax.tools.JavaFileManager fileManager)
    • Method Detail

      • getJavaFileForOutput

        public javax.tools.JavaFileObject getJavaFileForOutput​(javax.tools.JavaFileManager.Location location,
                                                               java.lang.String className,
                                                               javax.tools.JavaFileObject.Kind kind,
                                                               javax.tools.FileObject sibling)
                                                        throws java.io.IOException
        Specified by:
        getJavaFileForOutput in interface javax.tools.JavaFileManager
        Overrides:
        getJavaFileForOutput in class javax.tools.ForwardingJavaFileManager<javax.tools.JavaFileManager>
        Throws:
        java.io.IOException