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
`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>`