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 and Description
    `JarOrDirectoryOutputFileManager(java.io.File output, javax.tools.JavaFileManager fileManager)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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

      `flush, getClassLoader, getFileForInput, getJavaFileForInput, handleOption, hasLocation, inferBinaryName, isSupportedOption, list`

    - ### 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.io.Closeable`
      Specified by:
        `close` in interface `java.lang.AutoCloseable`
      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>`