Package com.google.web.bindery.requestfactory.apt

## Class ValidationTool.JarOrDirectoryOutputFileManager

- java.lang.Object
- - javax.tools.ForwardingJavaFileManager<javax.tools.JavaFileManager>
  - - com.google.web.bindery.requestfactory.apt.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>`