Class ByteArrayJavaFileManager<M extends javax.tools.JavaFileManager>

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

    public class ByteArrayJavaFileManager<M extends javax.tools.JavaFileManager>
    extends javax.tools.ForwardingJavaFileManager<M>
    A ForwardingJavaFileManager that stores JavaFileObjects in byte arrays, i.e. in memory (as opposed to the StandardJavaFileManager, which stores them in files).
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  ByteArrayJavaFileManager.ByteArrayJavaFileObject
      Byte array-based implementation of JavaFileObject.
      • Nested classes/interfaces inherited from interface javax.tools.JavaFileManager

        javax.tools.JavaFileManager.Location
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.util.Map<javax.tools.JavaFileManager.Location,​java.util.Map<javax.tools.JavaFileObject.Kind,​java.util.Map<java.lang.String,​javax.tools.JavaFileObject>>> javaFiles  
      • Fields inherited from class javax.tools.ForwardingJavaFileManager

        fileManager
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      javax.tools.FileObject getFileForInput​(javax.tools.JavaFileManager.Location location, java.lang.String packageName, java.lang.String relativeName)  
      javax.tools.FileObject getFileForOutput​(javax.tools.JavaFileManager.Location location, java.lang.String packageName, java.lang.String relativeName, javax.tools.FileObject sibling)  
      javax.tools.JavaFileObject getJavaFileForInput​(javax.tools.JavaFileManager.Location location, java.lang.String className, javax.tools.JavaFileObject.Kind kind)  
      javax.tools.JavaFileObject getJavaFileForOutput​(javax.tools.JavaFileManager.Location location, java.lang.String className, javax.tools.JavaFileObject.Kind kind, javax.tools.FileObject sibling)  
      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)  
      • Methods inherited from class javax.tools.ForwardingJavaFileManager

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

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

      • javaFiles

        private final java.util.Map<javax.tools.JavaFileManager.Location,​java.util.Map<javax.tools.JavaFileObject.Kind,​java.util.Map<java.lang.String,​javax.tools.JavaFileObject>>> javaFiles
    • Constructor Detail

      • ByteArrayJavaFileManager

        public ByteArrayJavaFileManager​(M delegate)
    • Method Detail

      • getFileForInput

        public javax.tools.FileObject getFileForInput​(javax.tools.JavaFileManager.Location location,
                                                      java.lang.String packageName,
                                                      java.lang.String relativeName)
        Specified by:
        getFileForInput in interface javax.tools.JavaFileManager
        Overrides:
        getFileForInput in class javax.tools.ForwardingJavaFileManager<M extends javax.tools.JavaFileManager>
      • getFileForOutput

        public javax.tools.FileObject getFileForOutput​(javax.tools.JavaFileManager.Location location,
                                                       java.lang.String packageName,
                                                       java.lang.String relativeName,
                                                       javax.tools.FileObject sibling)
        Specified by:
        getFileForOutput in interface javax.tools.JavaFileManager
        Overrides:
        getFileForOutput in class javax.tools.ForwardingJavaFileManager<M extends javax.tools.JavaFileManager>
      • getJavaFileForInput

        public javax.tools.JavaFileObject getJavaFileForInput​(javax.tools.JavaFileManager.Location location,
                                                              java.lang.String className,
                                                              javax.tools.JavaFileObject.Kind kind)
                                                       throws java.io.IOException
        Specified by:
        getJavaFileForInput in interface javax.tools.JavaFileManager
        Overrides:
        getJavaFileForInput in class javax.tools.ForwardingJavaFileManager<M extends javax.tools.JavaFileManager>
        Throws:
        java.io.IOException
      • 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<M extends javax.tools.JavaFileManager>
        Throws:
        java.io.IOException
      • 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<M extends javax.tools.JavaFileManager>
        Throws:
        java.io.IOException