ForwardingFileObject (Java SE 15 & JDK 15)
Description: declaration: module: java.compiler, package: javax.tools, class: ForwardingFileObject
Keywords: javax.tools.ForwardingFileObject class

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