Package org.apache.any23.extractor

## Class ExtractionResultImpl

- java.lang.Object
- - org.apache.any23.extractor.ExtractionResultImpl

- All Implemented Interfaces:
    `org.apache.any23.extractor.ExtractionResult`, `org.apache.any23.extractor.IssueReport`, `TagSoupExtractionResult`

      public class ExtractionResultImpl
      extends Object
      implements TagSoupExtractionResult

  A default implementation of `ExtractionResult`; it receives extraction output from one `Extractor` working on one document, and passes the output on to a `TripleHandler`. It deals with details such as creation of `ExtractionContext` objects and closing any open contexts at the end of extraction.

  The `close()` method must be invoked after the extractor has finished processing.

  There is usually no need to provide additional implementations of the ExtractionWriter interface.

  Author:
    Richard Cyganiak (richard@cyganiak.de), Michele Mostarda (michele.mostarda@gmail.com)
  See Also:
    `TripleHandler`, `ExtractionContext`

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.apache.any23.extractor.IssueReport

      `org.apache.any23.extractor.IssueReport.Issue, org.apache.any23.extractor.IssueReport.IssueLevel`

    - ### Nested classes/interfaces inherited from interface org.apache.any23.extractor.TagSoupExtractionResult

      `TagSoupExtractionResult.PropertyPath, TagSoupExtractionResult.ResourceRoot`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ExtractionResultImpl​(org.apache.any23.extractor.ExtractionContext context, org.apache.any23.extractor.Extractor<?> extractor, org.apache.any23.writer.TripleHandler tripleHandler)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addPropertyPath​(Class<? extends MicroformatExtractor> extractor, org.eclipse.rdf4j.model.Resource propertySubject, org.eclipse.rdf4j.model.Resource property, org.eclipse.rdf4j.model.BNode object, String[] path)` | Adds a property path to the list of the extracted data.
    `void` | `addResourceRoot​(String[] path, org.eclipse.rdf4j.model.Resource root, Class<? extends MicroformatExtractor> extractor)` | Adds a root property to the extraction result, specifying also the path corresponding to the root of data which generated the property and the extractor responsible for such addition.
    `void` | `close()` |
    `org.apache.any23.extractor.ExtractionContext` | `getExtractionContext()` |
    `Collection<org.apache.any23.extractor.IssueReport.Issue>` | `getIssues()` |
    `int` | `getIssuesCount()` |
    `List<TagSoupExtractionResult.PropertyPath>` | `getPropertyPaths()` | Returns all the collected property paths.
    `List<TagSoupExtractionResult.ResourceRoot>` | `getResourceRoots()` | Returns all the collected property roots.
    `boolean` | `hasIssues()` |
    `void` | `notifyIssue​(org.apache.any23.extractor.IssueReport.IssueLevel level, String msg, long row, long col)` |
    `org.apache.any23.extractor.ExtractionResult` | `openSubResult​(org.apache.any23.extractor.ExtractionContext context)` |
    `void` | `printReport​(PrintStream ps)` |
    `String` | `toString()` |
    `void` | `writeNamespace​(String prefix, String uri)` |
    `void` | `writeTriple​(org.eclipse.rdf4j.model.Resource s, org.eclipse.rdf4j.model.IRI p, org.eclipse.rdf4j.model.Value o)` |
    `void` | `writeTriple​(org.eclipse.rdf4j.model.Resource s, org.eclipse.rdf4j.model.IRI p, org.eclipse.rdf4j.model.Value o, org.eclipse.rdf4j.model.IRI g)` |

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

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

- - ### Constructor Detail

    - #### ExtractionResultImpl

          public ExtractionResultImpl​(org.apache.any23.extractor.ExtractionContext context,
                                      org.apache.any23.extractor.Extractor<?> extractor,
                                      org.apache.any23.writer.TripleHandler tripleHandler)

  - ### Method Detail

    - #### hasIssues

          public boolean hasIssues()

    - #### getIssuesCount

          public int getIssuesCount()

    - #### printReport

          public void printReport​(PrintStream ps)

      Specified by:
        `printReport` in interface `org.apache.any23.extractor.IssueReport`

    - #### getIssues

          public Collection<org.apache.any23.extractor.IssueReport.Issue> getIssues()

      Specified by:
        `getIssues` in interface `org.apache.any23.extractor.IssueReport`

    - #### openSubResult

          public org.apache.any23.extractor.ExtractionResult openSubResult​(org.apache.any23.extractor.ExtractionContext context)

      Specified by:
        `openSubResult` in interface `org.apache.any23.extractor.ExtractionResult`

    - #### getExtractionContext

          public org.apache.any23.extractor.ExtractionContext getExtractionContext()

    - #### writeTriple

          public void writeTriple​(org.eclipse.rdf4j.model.Resource s,
                                  org.eclipse.rdf4j.model.IRI p,
                                  org.eclipse.rdf4j.model.Value o,
                                  org.eclipse.rdf4j.model.IRI g)

      Specified by:
        `writeTriple` in interface `org.apache.any23.extractor.ExtractionResult`

    - #### writeTriple

          public void writeTriple​(org.eclipse.rdf4j.model.Resource s,
                                  org.eclipse.rdf4j.model.IRI p,
                                  org.eclipse.rdf4j.model.Value o)

      Specified by:
        `writeTriple` in interface `org.apache.any23.extractor.ExtractionResult`

    - #### writeNamespace

          public void writeNamespace​(String prefix,
                                     String uri)

      Specified by:
        `writeNamespace` in interface `org.apache.any23.extractor.ExtractionResult`

    - #### notifyIssue

          public void notifyIssue​(org.apache.any23.extractor.IssueReport.IssueLevel level,
                                  String msg,
                                  long row,
                                  long col)

      Specified by:
        `notifyIssue` in interface `org.apache.any23.extractor.IssueReport`

    - #### close

          public void close()

      Specified by:
        `close` in interface `org.apache.any23.extractor.ExtractionResult`

    - #### addResourceRoot

          public void addResourceRoot​(String[] path,
                                      org.eclipse.rdf4j.model.Resource root,
                                      Class<? extends MicroformatExtractor> extractor)

      Description copied from interface: `TagSoupExtractionResult`
      Adds a root property to the extraction result, specifying also the path corresponding to the root of data which generated the property and the extractor responsible for such addition.
      Specified by:
        `addResourceRoot` in interface `TagSoupExtractionResult`
      Parameters:
        `path` - the path from the document root to the local root of the data generating the property.
        `root` - the property root node.
        `extractor` - the extractor responsible of such extraction.

    - #### getResourceRoots

          public List<TagSoupExtractionResult.ResourceRoot> getResourceRoots()

      Description copied from interface: `TagSoupExtractionResult`
      Returns all the collected property roots.
      Specified by:
        `getResourceRoots` in interface `TagSoupExtractionResult`
      Returns:
        an unmodifiable list of `TagSoupExtractionResult.ResourceRoot`s.

    - #### addPropertyPath

          public void addPropertyPath​(Class<? extends MicroformatExtractor> extractor,
                                      org.eclipse.rdf4j.model.Resource propertySubject,
                                      org.eclipse.rdf4j.model.Resource property,
                                      org.eclipse.rdf4j.model.BNode object,
                                      String[] path)

      Description copied from interface: `TagSoupExtractionResult`
      Adds a property path to the list of the extracted data.
      Specified by:
        `addPropertyPath` in interface `TagSoupExtractionResult`
      Parameters:
        `extractor` - the identifier of the extractor responsible for retrieving such property.
        `propertySubject` - the subject of the property.
        `property` - the property IRI.
        `object` - the property object if any, `null` otherwise.
        `path` - the path of the HTML node from which the property literal has been extracted.

    - #### getPropertyPaths

          public List<TagSoupExtractionResult.PropertyPath> getPropertyPaths()

      Description copied from interface: `TagSoupExtractionResult`
      Returns all the collected property paths.
      Specified by:
        `getPropertyPaths` in interface `TagSoupExtractionResult`
      Returns:
        a valid list of property paths.

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`