Class ValidationTool.JarOrDirectoryOutputFileManager

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

    static class ValidationTool.JarOrDirectoryOutputFileManager
    extends javax.tools.ForwardingJavaFileManager<javax.tools.JavaFileManager>
    A JavaFileManager that writes the class outputs into a jar file or a directory.
    • 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
      JarOrDirectoryOutputFileManager​(java.io.File output, javax.tools.JavaFileManager fileManager)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()  
      javax.tools.FileObject getFileForOutput​(javax.tools.JavaFileManager.Location location, java.lang.String packageName, java.lang.String relativeName, javax.tools.FileObject sibling)
      Not expected to be called.
      javax.tools.JavaFileObject getJavaFileForOutput​(javax.tools.JavaFileManager.Location location, java.lang.String className, javax.tools.JavaFileObject.Kind kind, javax.tools.FileObject sibling)
      This method will receive generated source and class files.
      boolean isSameFile​(javax.tools.FileObject a, javax.tools.FileObject b)  
      • Methods inherited from class javax.tools.ForwardingJavaFileManager

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

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

      • JarOrDirectoryOutputFileManager

        JarOrDirectoryOutputFileManager​(java.io.File output,
                                        javax.tools.JavaFileManager fileManager)
    • Method Detail

      • close

        public void close()
                   throws java.io.IOException
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Specified by:
        close in interface javax.tools.JavaFileManager
        Overrides:
        close in class javax.tools.ForwardingJavaFileManager<javax.tools.JavaFileManager>
        Throws:
        java.io.IOException
      • getFileForOutput

        public javax.tools.FileObject getFileForOutput​(javax.tools.JavaFileManager.Location location,
                                                       java.lang.String packageName,
                                                       java.lang.String relativeName,
                                                       javax.tools.FileObject sibling)
                                                throws java.io.IOException
        Not expected to be called. Overridden to prevent accidental writes to disk.
        Specified by:
        getFileForOutput in interface javax.tools.JavaFileManager
        Overrides:
        getFileForOutput in class javax.tools.ForwardingJavaFileManager<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
        This method will receive generated source and class files.
        Specified by:
        getJavaFileForOutput in interface javax.tools.JavaFileManager
        Overrides:
        getJavaFileForOutput in class javax.tools.ForwardingJavaFileManager<javax.tools.JavaFileManager>
        Throws:
        java.io.IOException
      • isSameFile

        public boolean isSameFile​(javax.tools.FileObject a,
                                  javax.tools.FileObject b)
        Specified by:
        isSameFile in interface javax.tools.JavaFileManager
        Overrides:
        isSameFile in class javax.tools.ForwardingJavaFileManager<javax.tools.JavaFileManager>