Class MemoryFileManager

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

    public class MemoryFileManager
    extends javax.tools.ForwardingJavaFileManager<javax.tools.JavaFileManager>
    A JavaFileManager that manages some files in memory, delegating the other files to the parent JavaFileManager.
    • Constructor Summary

      Constructors 
      Constructor Description
      MemoryFileManager​(javax.tools.JavaFileManager fileManager, java.lang.ClassLoader parentClassLoader)
      Creates a MemoryJavaFileManager.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      javax.tools.JavaFileObject createSourceFileObject​(java.lang.Object origin, java.lang.String name, java.lang.String code)  
      java.lang.ClassLoader getClassLoader​(javax.tools.JavaFileManager.Location location)  
      javax.tools.JavaFileObject getJavaFileForOutput​(javax.tools.JavaFileManager.Location location, java.lang.String className, javax.tools.JavaFileObject.Kind kind, javax.tools.FileObject sibling)  
      java.lang.String inferBinaryName​(javax.tools.JavaFileManager.Location location, javax.tools.JavaFileObject file)  
      java.lang.Iterable<javax.tools.JavaFileObject> list​(javax.tools.JavaFileManager.Location location, java.lang.String packageName, java.util.Set<javax.tools.JavaFileObject.Kind> kinds, boolean recurse)  
      private java.util.Collection<MemoryFileManager.ClassMemoryJavaFileObject> memoryClasses()  
      • Methods inherited from class javax.tools.ForwardingJavaFileManager

        close, contains, flush, getFileForInput, getFileForOutput, getJavaFileForInput, getLocationForModule, getLocationForModule, getServiceLoader, handleOption, hasLocation, inferModuleName, isSameFile, isSupportedOption, listLocationsForModules
      • Methods inherited from class java.lang.Object

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

      • MemoryFileManager

        public MemoryFileManager​(javax.tools.JavaFileManager fileManager,
                                 java.lang.ClassLoader parentClassLoader)
        Creates a MemoryJavaFileManager.
        Parameters:
        fileManager - the JavaFileManager
        parentClassLoader - the parent ClassLoader
    • Method Detail

      • createSourceFileObject

        public javax.tools.JavaFileObject createSourceFileObject​(java.lang.Object origin,
                                                                 java.lang.String name,
                                                                 java.lang.String code)
      • getClassLoader

        public java.lang.ClassLoader getClassLoader​(javax.tools.JavaFileManager.Location location)
        Specified by:
        getClassLoader in interface javax.tools.JavaFileManager
        Overrides:
        getClassLoader in class javax.tools.ForwardingJavaFileManager<javax.tools.JavaFileManager>
      • list

        public java.lang.Iterable<javax.tools.JavaFileObject> list​(javax.tools.JavaFileManager.Location location,
                                                                   java.lang.String packageName,
                                                                   java.util.Set<javax.tools.JavaFileObject.Kind> kinds,
                                                                   boolean recurse)
                                                            throws java.io.IOException
        Specified by:
        list in interface javax.tools.JavaFileManager
        Overrides:
        list in class javax.tools.ForwardingJavaFileManager<javax.tools.JavaFileManager>
        Throws:
        java.io.IOException
      • inferBinaryName

        public java.lang.String inferBinaryName​(javax.tools.JavaFileManager.Location location,
                                                javax.tools.JavaFileObject file)
        Specified by:
        inferBinaryName in interface javax.tools.JavaFileManager
        Overrides:
        inferBinaryName in class javax.tools.ForwardingJavaFileManager<javax.tools.JavaFileManager>
      • 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