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.

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