Module java.compiler
Package javax.tools

# Class ForwardingFileObject<F extends FileObject>

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

Type Parameters:
  `F` - the kind of file object forwarded to by this object

All Implemented Interfaces:
  `FileObject`

Direct Known Subclasses:
  `ForwardingJavaFileObject`

    public class ForwardingFileObject<F extends FileObject>
    extends Object
    implements FileObject

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

## Field Summary

Fields
Modifier and Type | Field | Description
--- | --- | ---
`protected F` | `fileObject` | The file object which all methods are delegated to.

## Constructor Summary

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

## Method Summary

Modifier and Type | Method | Description
--- | --- | ---
`CharSequence` | `getCharContent​(boolean ignoreEncodingErrors)` | Returns the character content of this file object, if available.
`InputStream` | `openInputStream()` | Returns an InputStream for this file object.
`OutputStream` | `openOutputStream()` | Returns an OutputStream for this file object.
`Reader` | `openReader​(boolean ignoreEncodingErrors)` | Returns a reader for this object.
`Writer` | `openWriter()` | Returns a Writer for this file object.

### 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, getLastModified, getName, toUri`

## Field Details

### fileObject

protected final F extends FileObject fileObject
The file object which all methods are delegated to.

## Constructor Details

### ForwardingFileObject

protected ForwardingFileObject​(F fileObject)
Creates a new instance of ForwardingFileObject.

Parameters:
  `fileObject` - delegate to this file object

## Method Details

### openInputStream

public InputStream openInputStream() throws IOException
Description copied from interface: `FileObject`
Returns an InputStream for this file object.

Specified by:
  `openInputStream` in interface `FileObject`
Returns:
  an InputStream
Throws:
  `IllegalStateException` - if this file object was opened for writing and does not support reading
  `UnsupportedOperationException` - if this kind of file object does not support byte access
  `IOException` - if an I/O error occurred

### openOutputStream

public OutputStream openOutputStream() throws IOException
Description copied from interface: `FileObject`
Returns an OutputStream for this file object.

Specified by:
  `openOutputStream` in interface `FileObject`
Returns:
  an OutputStream
Throws:
  `IllegalStateException` - if this file object was opened for reading and does not support writing
  `UnsupportedOperationException` - if this kind of file object does not support byte access
  `IOException` - if an I/O error occurred

### openReader

public Reader openReader​(boolean ignoreEncodingErrors) throws IOException
Description copied from interface: `FileObject`
Returns a reader for this object. The returned reader will replace bytes that cannot be decoded with the default translation character. In addition, the reader may report a diagnostic unless `ignoreEncodingErrors` is true.

Specified by:
  `openReader` in interface `FileObject`
Parameters:
  `ignoreEncodingErrors` - ignore encoding errors if true
Returns:
  a Reader
Throws:
  `IllegalStateException` - if this file object was opened for writing and does not support reading
  `UnsupportedOperationException` - if this kind of file object does not support character access
  `IOException` - if an I/O error occurred

### getCharContent

public CharSequence getCharContent​(boolean ignoreEncodingErrors) throws IOException
Description copied from interface: `FileObject`
Returns the character content of this file object, if available. Any byte that cannot be decoded will be replaced by the default translation character. In addition, a diagnostic may be reported unless `ignoreEncodingErrors` is true.

Specified by:
  `getCharContent` in interface `FileObject`
Parameters:
  `ignoreEncodingErrors` - ignore encoding errors if true
Returns:
  a CharSequence if available; `null` otherwise
Throws:
  `IllegalStateException` - if this file object was opened for writing and does not support reading
  `UnsupportedOperationException` - if this kind of file object does not support character access
  `IOException` - if an I/O error occurred

### openWriter

public Writer openWriter() throws IOException
Description copied from interface: `FileObject`
Returns a Writer for this file object.

Specified by:
  `openWriter` in interface `FileObject`
Returns:
  a Writer
Throws:
  `IllegalStateException` - if this file object was opened for reading and does not support writing
  `UnsupportedOperationException` - if this kind of file object does not support character access
  `IOException` - if an I/O error occurred