javax.tools

## Interface JavaFileObject

All Superinterfaces:
  FileObject

All Known Implementing Classes:
  ForwardingJavaFileObject, SimpleJavaFileObject

    public interface JavaFileObject
    extends FileObject

File abstraction for tools operating on Java™ programming language source and class files.

All methods in this interface might throw a SecurityException if a security exception occurs.

Unless explicitly allowed, all methods in this interface might throw a NullPointerException if given a `null` argument.

Since:
  1.6
See Also:
  `JavaFileManager`

### Nested Class Summary

Nested Classes
`static class` `JavaFileObject.Kind` Kinds of JavaFileObjects.

### Method Summary

Methods
`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 interface javax.tools.FileObject

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

### Method Detail

#### getKind

    JavaFileObject.Kind getKind()

Gets the kind of this file object.

Returns:
  the kind

#### isNameCompatible

    boolean isNameCompatible(String simpleName,
                           JavaFileObject.Kind kind)

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 3rd ed., section 6.2 "Names and Identifiers".

Parameters:
  `simpleName` - a simple name of a class
  `kind` - a kind
Returns:
  `true` if this file object is compatible; false otherwise

#### getNestingKind

    NestingKind getNestingKind()

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`.

Returns:
  the nesting kind, or `null` if the nesting kind is not known

#### getAccessLevel

    Modifier getAccessLevel()

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`.

Returns:
  the access level

Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.