Package org.eclipse.rdf4j.rio.helpers

## Class AbstractRDFWriter

- java.lang.Object
- - org.eclipse.rdf4j.rio.helpers.AbstractRDFWriter

- All Implemented Interfaces:
    `Sink`, `RDFHandler`, `RDFWriter`
  Direct Known Subclasses:
    `ArrangedWriter`, `BinaryRDFWriter`, `ConsoleRDFWriter`, `JSONLDWriter`, `NDJSONLDWriter`, `NTriplesWriter`, `RDFJSONWriter`, `RDFXMLWriter`, `TriXWriter`, `TurtleWriter`

      public abstract class AbstractRDFWriter
      extends Object
      implements RDFWriter, Sink

  Base class for `RDFWriter`s offering common functionality for RDF writers.
  Author:
    Peter Ansell

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected Map<String,​String>` | `namespaceTable` | Mapping from namespace prefixes to namespace names.
    `protected Consumer<Statement>` | `statementConsumer` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `AbstractRDFWriter()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected void` | `checkWritingStarted()` | Verify that writing has started.
    `protected void` | `consumeStatement​(Statement st)` | Consume a statement.
    `FileFormat` | `getFileFormat()` | Get the `FileFormat` this sink uses.
    `Collection<RioSetting<?>>` | `getSupportedSettings()` |
    `WriterConfig` | `getWriterConfig()` | Retrieves the current writer configuration as a single object.
    `void` | `handleNamespace​(String prefix, String uri)` | Handles a namespace declaration/definition.
    `void` | `handleStatement​(Statement st)` | Handles a statement.
    `protected boolean` | `isWritingStarted()` | See if writing has started
    `<T> RDFWriter` | `set​(RioSetting<T> setting, T value)` | Set a setting on the writer, and return this writer object to allow chaining.
    `RDFWriter` | `setWriterConfig​(WriterConfig config)` | Sets all supplied writer configuration options.
    `void` | `startRDF()` | Signals the start of the RDF data.

    - ### Methods inherited from class java.lang.Object

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

    - ### Methods inherited from interface org.eclipse.rdf4j.rio.RDFHandler

      `endRDF, handleComment`

    - ### Methods inherited from interface org.eclipse.rdf4j.rio.RDFWriter

      `getRDFFormat`

    - ### Methods inherited from interface org.eclipse.rdf4j.common.io.Sink

      `acceptsFileFormat`

- - ### Field Detail

    - #### namespaceTable

          protected Map<String,​String> namespaceTable

      Mapping from namespace prefixes to namespace names.

    - #### statementConsumer

          protected Consumer<Statement> statementConsumer

  - ### Constructor Detail

    - #### AbstractRDFWriter

          public AbstractRDFWriter()

  - ### Method Detail

    - #### handleNamespace

          public void handleNamespace​(String prefix,
                                      String uri)
                               throws RDFHandlerException

      Description copied from interface: `RDFHandler`
      Handles a namespace declaration/definition. A namespace declaration associates a (short) prefix string with the namespace's URI. The prefix for default namespaces, which do not have an associated prefix, are represented as empty strings.
      Specified by:
        `handleNamespace` in interface `RDFHandler`
      Parameters:
        `prefix` - The prefix for the namespace, or an empty string in case of a default namespace.
        `uri` - The URI that the prefix maps to.
      Throws:
        `RDFHandlerException` - If the RDF handler has encountered an unrecoverable error.

    - #### setWriterConfig

          public RDFWriter setWriterConfig​(WriterConfig config)

      Description copied from interface: `RDFWriter`
      Sets all supplied writer configuration options.
      Specified by:
        `setWriterConfig` in interface `RDFWriter`
      Parameters:
        `config` - a writer configuration object.
      Returns:
        Either a copy of this writer, if it is immutable, or this object, to allow chaining of method calls.

    - #### getWriterConfig

          public WriterConfig getWriterConfig()

      Description copied from interface: `RDFWriter`
      Retrieves the current writer configuration as a single object.
      Specified by:
        `getWriterConfig` in interface `RDFWriter`
      Returns:
        a writer configuration object representing the current configuration of the writer.

    - #### getFileFormat

          public FileFormat getFileFormat()

      Description copied from interface: `Sink`
      Get the `FileFormat` this sink uses.
      Specified by:
        `getFileFormat` in interface `Sink`
      Returns:
        a `FileFormat`. May not be `null`.

    - #### getSupportedSettings

          public Collection<RioSetting<?>> getSupportedSettings()

      Specified by:
        `getSupportedSettings` in interface `RDFWriter`
      Returns:
        A collection of `RioSetting`s that are supported by this RDFWriter.

    - #### set

          public <T> RDFWriter set​(RioSetting<T> setting,
                                   T value)

      Description copied from interface: `RDFWriter`
      Set a setting on the writer, and return this writer object to allow chaining.
      Specified by:
        `set` in interface `RDFWriter`
      Parameters:
        `setting` - The setting to change.
        `value` - The value to change.
      Returns:
        Either a copy of this writer, if it is immutable, or this object, to allow chaining of method calls.

    - #### startRDF

          public void startRDF()
                        throws RDFHandlerException

      Description copied from interface: `RDFHandler`
      Signals the start of the RDF data. This method is called before any data is reported.
      Specified by:
        `startRDF` in interface `RDFHandler`
      Throws:
        `RDFHandlerException` - If the RDF handler has encountered an unrecoverable error.

    - #### handleStatement

          public void handleStatement​(Statement st)
                               throws RDFHandlerException

      Description copied from interface: `RDFHandler`
      Handles a statement.
      Specified by:
        `handleStatement` in interface `RDFHandler`
      Parameters:
        `st` - The statement.
      Throws:
        `RDFHandlerException` - If the RDF handler has encountered an unrecoverable error.

    - #### consumeStatement

          protected void consumeStatement​(Statement st)

      Consume a statement. Extending classes must override this method instead of overriding `handleStatement(Statement)` in order to benefit from automatic handling of RDF-star conversion or encoding.
      Parameters:
        `st` - the statement to consume.

    - #### isWritingStarted

          protected boolean isWritingStarted()

      See if writing has started
      Returns:
        `true` if writing has started, `false` otherwise

    - #### checkWritingStarted

          protected void checkWritingStarted()

      Verify that writing has started.
      Throws:
        `RDFHandlerException` - if writing has not yet started.