## Uses of Interface
javax.tools.JavaFileObject

Packages that use JavaFileObject
javax.annotation.processing: Facilities for declaring annotation processors and for allowing annotation processors to communicate with an annotation processing tool environment.
javax.tools: Provides interfaces for tools which can be invoked from a program, for example, compilers.

### Uses of JavaFileObject in javax.annotation.processing

Methods in javax.annotation.processing that return JavaFileObject
`JavaFileObject` Filer.`createClassFile(CharSequence name, Element... originatingElements)` Creates a new class file, and returns an object to allow writing to it.
`JavaFileObject` Filer.`createSourceFile(CharSequence name, Element... originatingElements)` Creates a new source file and returns an object to allow writing to it.

### Uses of JavaFileObject in javax.tools

Classes in javax.tools with type parameters of type JavaFileObject
`class` `ForwardingJavaFileObject<F extends JavaFileObject>` Forwards calls to a given file object.

Classes in javax.tools that implement JavaFileObject
`class` `ForwardingJavaFileObject<F extends JavaFileObject>` Forwards calls to a given file object.
`class` `SimpleJavaFileObject` Provides simple implementations for most methods in JavaFileObject.

Methods in javax.tools that return JavaFileObject
`JavaFileObject` JavaFileManager.`getJavaFileForInput(JavaFileManager.Location location, String className, JavaFileObject.Kind kind)` Gets a file object for input representing the specified class of the specified kind in the given location.
`JavaFileObject` ForwardingJavaFileManager.`getJavaFileForInput(JavaFileManager.Location location, String className, JavaFileObject.Kind kind)`
`JavaFileObject` JavaFileManager.`getJavaFileForOutput(JavaFileManager.Location location, String className, JavaFileObject.Kind kind, FileObject sibling)` Gets a file object for output representing the specified class of the specified kind in the given location.
`JavaFileObject` ForwardingJavaFileManager.`getJavaFileForOutput(JavaFileManager.Location location, String className, JavaFileObject.Kind kind, FileObject sibling)`

Methods in javax.tools that return types with arguments of type JavaFileObject
`Iterable<? extends JavaFileObject>` StandardJavaFileManager.`getJavaFileObjects(File... files)` Gets file objects representing the given files.
`Iterable<? extends JavaFileObject>` StandardJavaFileManager.`getJavaFileObjects(String... names)` Gets file objects representing the given file names.
`Iterable<? extends JavaFileObject>` StandardJavaFileManager.`getJavaFileObjectsFromFiles(Iterable<? extends File> files)` Gets file objects representing the given files.
`Iterable<? extends JavaFileObject>` StandardJavaFileManager.`getJavaFileObjectsFromStrings(Iterable<String> names)` Gets file objects representing the given file names.
`Iterable<JavaFileObject>` JavaFileManager.`list(JavaFileManager.Location location, String packageName, Set<JavaFileObject.Kind> kinds, boolean recurse)` Lists all file objects matching the given criteria in the given location.
`Iterable<JavaFileObject>` ForwardingJavaFileManager.`list(JavaFileManager.Location location, String packageName, Set<JavaFileObject.Kind> kinds, boolean recurse)`

Methods in javax.tools with parameters of type JavaFileObject
`String` JavaFileManager.`inferBinaryName(JavaFileManager.Location location, JavaFileObject file)` Infers a binary name of a file object based on a location.
`String` ForwardingJavaFileManager.`inferBinaryName(JavaFileManager.Location location, JavaFileObject file)`

Method parameters in javax.tools with type arguments of type JavaFileObject
`StandardJavaFileManager` DocumentationTool.`getStandardFileManager(DiagnosticListener<? super JavaFileObject> diagnosticListener, Locale locale, Charset charset)` Gets a new instance of the standard file manager implementation for this tool.
`StandardJavaFileManager` JavaCompiler.`getStandardFileManager(DiagnosticListener<? super JavaFileObject> diagnosticListener, Locale locale, Charset charset)` Gets a new instance of the standard file manager implementation for this tool.
`DocumentationTool.DocumentationTask` DocumentationTool.`getTask(Writer out, JavaFileManager fileManager, DiagnosticListener<? super JavaFileObject> diagnosticListener, Class<?> docletClass, Iterable<String> options, Iterable<? extends JavaFileObject> compilationUnits)` Creates a future for a documentation task with the given components and arguments.
`DocumentationTool.DocumentationTask` DocumentationTool.`getTask(Writer out, JavaFileManager fileManager, DiagnosticListener<? super JavaFileObject> diagnosticListener, Class<?> docletClass, Iterable<String> options, Iterable<? extends JavaFileObject> compilationUnits)` Creates a future for a documentation task with the given components and arguments.
`JavaCompiler.CompilationTask` JavaCompiler.`getTask(Writer out, JavaFileManager fileManager, DiagnosticListener<? super JavaFileObject> diagnosticListener, Iterable<String> options, Iterable<String> classes, Iterable<? extends JavaFileObject> compilationUnits)` Creates a future for a compilation task with the given components and arguments.
`JavaCompiler.CompilationTask` JavaCompiler.`getTask(Writer out, JavaFileManager fileManager, DiagnosticListener<? super JavaFileObject> diagnosticListener, Iterable<String> options, Iterable<String> classes, Iterable<? extends JavaFileObject> compilationUnits)` Creates a future for a compilation task with the given components and arguments.