Package org.apache.any23.writer

## Interface TripleHandler

- All Superinterfaces:
    `AutoCloseable`
  All Known Subinterfaces:
    `FormatWriter`

      public interface TripleHandler
      extends AutoCloseable

  Defines a document based triple handler.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `close()` | Will be called last and exactly once.
    `void` | `closeContext​(ExtractionContext context)` | Informs the handler that no more triples will come from a previously opened context.
    `void` | `endDocument​(org.eclipse.rdf4j.model.IRI documentIRI)` | Informs the handler that the end of the document has been reached.
    `void` | `openContext​(ExtractionContext context)` | Informs the handler that a new context has been established.
    `void` | `receiveNamespace​(String prefix, String uri, ExtractionContext context)` | Invoked with a currently open context, notifies the detection of a namespace.
    `void` | `receiveTriple​(org.eclipse.rdf4j.model.Resource s, org.eclipse.rdf4j.model.IRI p, org.eclipse.rdf4j.model.Value o, org.eclipse.rdf4j.model.IRI g, ExtractionContext context)` | Invoked with a currently open context, notifies the detection of a triple.
    `void` | `setContentLength​(long contentLength)` | Sets the length of the content to be processed.
    `void` | `startDocument​(org.eclipse.rdf4j.model.IRI documentIRI)` |

- - ### Method Detail

    - #### startDocument

          void startDocument​(org.eclipse.rdf4j.model.IRI documentIRI)
                      throws TripleHandlerException

      Throws:
        `TripleHandlerException`

    - #### openContext

          void openContext​(ExtractionContext context)
                    throws TripleHandlerException

      Informs the handler that a new context has been established. Contexts are not guaranteed to receive any triples, so they might be closed without any triple.
      Parameters:
        `context` - an instantiated `ExtractionContext`
      Throws:
        `TripleHandlerException` - if there is an errr opening the `ExtractionContext`

    - #### receiveTriple

          void receiveTriple​(org.eclipse.rdf4j.model.Resource s,
                             org.eclipse.rdf4j.model.IRI p,
                             org.eclipse.rdf4j.model.Value o,
                             org.eclipse.rdf4j.model.IRI g,
                             ExtractionContext context)
                      throws TripleHandlerException

      Invoked with a currently open context, notifies the detection of a triple.
      Parameters:
        `s` - triple subject, cannot be `null`.
        `p` - triple predicate, cannot be `null`.
        `o` - triple object, cannot be `null`.
        `g` - triple graph, can be `null`.
        `context` - extraction context.
      Throws:
        `TripleHandlerException` - if there is an error receiving the triple.

    - #### receiveNamespace

          void receiveNamespace​(String prefix,
                                String uri,
                                ExtractionContext context)
                         throws TripleHandlerException

      Invoked with a currently open context, notifies the detection of a namespace.
      Parameters:
        `prefix` - namespace prefix.
        `uri` - namespace IRI.
        `context` - namespace context.
      Throws:
        `TripleHandlerException` - if there is an error receiving the namespace.

    - #### closeContext

          void closeContext​(ExtractionContext context)
                     throws TripleHandlerException

      Informs the handler that no more triples will come from a previously opened context. All contexts are guaranteed to be closed before the final close(). The document context for each document is guaranteed to be closed after all local contexts of that document.
      Parameters:
        `context` - the context to be closed.
      Throws:
        `TripleHandlerException` - if there is an error closing the `ExtractionContext`.

    - #### endDocument

          void endDocument​(org.eclipse.rdf4j.model.IRI documentIRI)
                    throws TripleHandlerException

      Informs the handler that the end of the document has been reached.
      Parameters:
        `documentIRI` - document IRI.
      Throws:
        `TripleHandlerException` - if there is an error ending the document.

    - #### setContentLength

          void setContentLength​(long contentLength)

      Sets the length of the content to be processed.
      Parameters:
        `contentLength` - length of the content being processed.

    - #### close

          void close()
              throws TripleHandlerException

      Will be called last and exactly once.
      Specified by:
        `close` in interface `AutoCloseable`
      Throws:
        `TripleHandlerException` - if there is an error closing the `TripleHandler` implementation.