## Uses of Interface
javax.tools.JavaFileObject

Packages that use JavaFileObject
com.sun.source.doctree: Provides interfaces to represent documentation comments as abstract syntax trees (AST).
com.sun.source.tree: Provides interfaces to represent source code as abstract syntax trees (AST).
com.sun.source.util: Provides utilities for operations on abstract syntax trees (AST).
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 com.sun.source.doctree

Methods in com.sun.source.doctree that return types with arguments of type JavaFileObject
`Diagnostic<JavaFileObject>` ErroneousTree.`getDiagnostic()` Returns a diagnostic object giving details about the reason the body text is in error.

### Uses of JavaFileObject in com.sun.source.tree

Methods in com.sun.source.tree that return JavaFileObject
`JavaFileObject` CompilationUnitTree.`getSourceFile()` Returns the file object containing the source for this compilation unit.

### Uses of JavaFileObject in com.sun.source.util

Methods in com.sun.source.util that return JavaFileObject
`JavaFileObject` TaskEvent.`getSourceFile()` Returns the source file for this event.

Methods in com.sun.source.util that return types with arguments of type JavaFileObject
`abstract Iterable<? extends JavaFileObject>` JavacTask.`generate()` Generates code.

Method parameters in com.sun.source.util with type arguments of type JavaFileObject
`ErroneousTree` DocTreeFactory.`newErroneousTree​(String text, Diagnostic<JavaFileObject> diag)` Create a new `ErroneousTree` object, to represent some unparseable input.

Constructors in com.sun.source.util with parameters of type JavaFileObject
`TaskEvent​(TaskEvent.Kind kind, JavaFileObject sourceFile)` Creates a task event for a given kind and source file.

### 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` ForwardingJavaFileManager.`getJavaFileForInput​(JavaFileManager.Location location, String className, JavaFileObject.Kind kind)`
`JavaFileObject` JavaFileManager.`getJavaFileForInput​(JavaFileManager.Location location, String className, JavaFileObject.Kind kind)` Returns a file object for input representing the specified class of the specified kind in the given package-oriented location.
`JavaFileObject` ForwardingJavaFileManager.`getJavaFileForOutput​(JavaFileManager.Location location, String className, JavaFileObject.Kind kind, FileObject sibling)`
`JavaFileObject` JavaFileManager.`getJavaFileForOutput​(JavaFileManager.Location location, String className, JavaFileObject.Kind kind, FileObject sibling)` Returns a file object for output representing the specified class of the specified kind in the given package-oriented location.

Methods in javax.tools that return types with arguments of type JavaFileObject
`Iterable<? extends JavaFileObject>` StandardJavaFileManager.`getJavaFileObjects​(File... files)` Returns file objects representing the given files.
`Iterable<? extends JavaFileObject>` StandardJavaFileManager.`getJavaFileObjects​(String... names)` Returns file objects representing the given file names.
`default Iterable<? extends JavaFileObject>` StandardJavaFileManager.`getJavaFileObjects​(Path... paths)` Returns file objects representing the given paths.
`Iterable<? extends JavaFileObject>` StandardJavaFileManager.`getJavaFileObjectsFromFiles​(Iterable<? extends File> files)` Returns file objects representing the given files.
`default Iterable<? extends JavaFileObject>` StandardJavaFileManager.`getJavaFileObjectsFromPaths​(Iterable<? extends Path> paths)` Returns file objects representing the given paths.
`Iterable<? extends JavaFileObject>` StandardJavaFileManager.`getJavaFileObjectsFromStrings​(Iterable<String> names)` Returns file objects representing the given file names.
`Iterable<JavaFileObject>` ForwardingJavaFileManager.`list​(JavaFileManager.Location location, String packageName, Set<JavaFileObject.Kind> kinds, boolean recurse)`
`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 package-oriented location.

Methods in javax.tools with parameters of type JavaFileObject
`JavaFileManager.Location` ForwardingJavaFileManager.`getLocationForModule​(JavaFileManager.Location location, JavaFileObject fo)`
`default JavaFileManager.Location` JavaFileManager.`getLocationForModule​(JavaFileManager.Location location, JavaFileObject fo)` Gets a location for the module containing a specific file to be found within a location, which may be either a module-oriented location or an output location.
`String` ForwardingJavaFileManager.`inferBinaryName​(JavaFileManager.Location location, JavaFileObject file)`
`String` JavaFileManager.`inferBinaryName​(JavaFileManager.Location location, JavaFileObject file)` Infers a binary name of a file object based on a package-oriented location.

Method parameters in javax.tools with type arguments of type JavaFileObject
`StandardJavaFileManager` DocumentationTool.`getStandardFileManager​(DiagnosticListener<? super JavaFileObject> diagnosticListener, Locale locale, Charset charset)` Returns a new instance of the standard file manager implementation for this tool.
`StandardJavaFileManager` JavaCompiler.`getStandardFileManager​(DiagnosticListener<? super JavaFileObject> diagnosticListener, Locale locale, Charset charset)` Returns 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.
`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.