Class FileInputJavaFileManager

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

    final class FileInputJavaFileManager
    extends javax.tools.ForwardingJavaFileManager<javax.tools.JavaFileManager>
    A ForwardingJavaFileManager that maps accesses to a particular JavaFileManager.Location and JavaFileObject.Kind to a path-based search in the file system.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      private class  FileInputJavaFileManager.InputFileJavaFileObject
      A JavaFileObject that reads from a File.
      • Nested classes/interfaces inherited from interface javax.tools.JavaFileManager

        javax.tools.JavaFileManager.Location
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private javax.tools.JavaFileObject.Kind kind  
      private javax.tools.JavaFileManager.Location location  
      private java.lang.String optionalCharacterEncoding  
      private java.io.File[] path  
      • Fields inherited from class javax.tools.ForwardingJavaFileManager

        fileManager
    • Constructor Summary

      Constructors 
      Constructor Description
      FileInputJavaFileManager​(javax.tools.JavaFileManager delegate, javax.tools.JavaFileManager.Location location, javax.tools.JavaFileObject.Kind kind, java.io.File[] path, java.lang.String optionalCharacterEncoding)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      javax.tools.JavaFileObject getJavaFileForInput​(javax.tools.JavaFileManager.Location location, java.lang.String className, javax.tools.JavaFileObject.Kind kind)  
      boolean hasLocation​(javax.tools.JavaFileManager.Location location)  
      java.lang.String inferBinaryName​(javax.tools.JavaFileManager.Location location, javax.tools.JavaFileObject file)  
      private java.util.Collection<javax.tools.JavaFileObject> list​(java.io.File directory, java.lang.String qualification, javax.tools.JavaFileObject.Kind kind, boolean recurse)  
      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, getFileForInput, getFileForOutput, getJavaFileForOutput, getLocationForModule, getLocationForModule, getServiceLoader, handleOption, inferModuleName, isSameFile, isSupportedOption, listLocationsForModules
      • Methods inherited from class java.lang.Object

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

      • location

        private final javax.tools.JavaFileManager.Location location
      • kind

        private final javax.tools.JavaFileObject.Kind kind
      • path

        private final java.io.File[] path
      • optionalCharacterEncoding

        private final java.lang.String optionalCharacterEncoding
    • Constructor Detail

      • FileInputJavaFileManager

        FileInputJavaFileManager​(javax.tools.JavaFileManager delegate,
                                 javax.tools.JavaFileManager.Location location,
                                 javax.tools.JavaFileObject.Kind kind,
                                 java.io.File[] path,
                                 java.lang.String optionalCharacterEncoding)
        Parameters:
        path - List of directories to look through
        optionalCharacterEncoding - Encoding of the files being read
    • Method Detail

      • 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
      • list

        private java.util.Collection<javax.tools.JavaFileObject> list​(java.io.File directory,
                                                                      java.lang.String qualification,
                                                                      javax.tools.JavaFileObject.Kind kind,
                                                                      boolean recurse)
                                                               throws java.io.IOException
        Parameters:
        qualification - E.g. "", or "pkg1.pkg2."
        Returns:
        All JavaFileObjects of the given kind in the given directory
        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>
      • hasLocation

        public boolean hasLocation​(javax.tools.JavaFileManager.Location location)
        Specified by:
        hasLocation in interface javax.tools.JavaFileManager
        Overrides:
        hasLocation in class javax.tools.ForwardingJavaFileManager<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<javax.tools.JavaFileManager>
        Throws:
        java.io.IOException