Module java.compiler
Package 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.

Unless stated otherwise, references in this class to "this file object" should be interpreted as referring indirectly to the `delegate file object`.

Since:
  1.6

## Nested Class Summary

## Nested classes/interfaces declared in interface javax.tools.JavaFileObject

`JavaFileObject.Kind`

## Field Summary

### Fields declared in class javax.tools.ForwardingFileObject

`fileObject`

## Constructor Summary

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

## Method Summary

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()`
Returns 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 declared in class javax.tools.ForwardingFileObject

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

### Methods declared in class java.lang.Object

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

### Methods declared in interface javax.tools.FileObject

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

## Constructor Details

### ForwardingJavaFileObject

protected ForwardingJavaFileObject(F fileObject)
Creates a new instance of `ForwardingJavaFileObject`.

Parameters:
  `fileObject` - delegate to this file object

## Method Details

### getKind

public JavaFileObject.Kind getKind()
Description copied from interface: `JavaFileObject`
Returns 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.

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 this file object does not represent a class file this method returns `null`.

Specified by:
  `getAccessLevel` in interface `JavaFileObject`
Returns:
  the access level