compact3
javax.tools

## Class ForwardingJavaFileObject<F extends JavaFileObject>

- java.lang.Object
- - javax.tools.ForwardingFileObject<F>
  - - javax.tools.ForwardingJavaFileObject<F>

- Type Parameters:
    `F` - the kind of file object forwarded to by this object
  All Implemented Interfaces:
    FileObject, JavaFileObject

      public class ForwardingJavaFileObject<F extends JavaFileObject>
      extends ForwardingFileObject<F>
      implements JavaFileObject

  Forwards calls to a given file object. Subclasses of this class might override some of these methods and might also provide additional fields and methods.
  Since:
    1.6

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface javax.tools.JavaFileObject

      `JavaFileObject.Kind`

  - ### Field Summary

    - ### Fields inherited from class javax.tools.ForwardingFileObject

      `fileObject`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `ForwardingJavaFileObject(F fileObject)` | Creates a new instance of ForwardingJavaFileObject.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Modifier` | `getAccessLevel()` | Provides a hint about the access level of the class represented by this file object.
    `JavaFileObject.Kind` | `getKind()` | Gets the kind of this file object.
    `NestingKind` | `getNestingKind()` | Provides a hint about the nesting level of the class represented by this file object.
    `boolean` | `isNameCompatible(String simpleName, JavaFileObject.Kind kind)` | Checks if this file object is compatible with the specified simple name and kind.

    - ### Methods inherited from class javax.tools.ForwardingFileObject

      `delete, getCharContent, getLastModified, getName, openInputStream, openOutputStream, openReader, openWriter, toUri`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface javax.tools.FileObject

      `delete, getCharContent, getLastModified, getName, openInputStream, openOutputStream, openReader, openWriter, toUri`

- - ### Constructor Detail

    - #### ForwardingJavaFileObject

          protected ForwardingJavaFileObject(F fileObject)

      Creates a new instance of ForwardingJavaFileObject.
      Parameters:
        `fileObject` - delegate to this file object

  - ### Method Detail

    - #### getKind

          public JavaFileObject.Kind getKind()

      Description copied from interface: `JavaFileObject`
      Gets the kind of this file object.
      Specified by:
        `getKind` in interface `JavaFileObject`
      Returns:
        the kind

    - #### isNameCompatible

          public boolean isNameCompatible(String simpleName,
                                          JavaFileObject.Kind kind)

      Description copied from interface: `JavaFileObject`
      Checks if this file object is compatible with the specified simple name and kind. A simple name is a single identifier (not qualified) as defined in The Java™ Language Specification, section 6.2 "Names and Identifiers".
      Specified by:
        `isNameCompatible` in interface `JavaFileObject`
      Parameters:
        `simpleName` - a simple name of a class
        `kind` - a kind
      Returns:
        `true` if this file object is compatible; false otherwise

    - #### getNestingKind

          public NestingKind getNestingKind()

      Description copied from interface: `JavaFileObject`
      Provides a hint about the nesting level of the class represented by this file object. This method may return `NestingKind.MEMBER` to mean `NestingKind.LOCAL` or `NestingKind.ANONYMOUS`. If the nesting level is not known or this file object does not represent a class file this method returns `null`.
      Specified by:
        `getNestingKind` in interface `JavaFileObject`
      Returns:
        the nesting kind, or `null` if the nesting kind is not known

    - #### getAccessLevel

          public Modifier getAccessLevel()

      Description copied from interface: `JavaFileObject`
      Provides a hint about the access level of the class represented by this file object. If the access level is not known or if this file object does not represent a class file this method returns `null`.
      Specified by:
        `getAccessLevel` in interface `JavaFileObject`
      Returns:
        the access level

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.