Package org.eclipse.rdf4j.sail.extensiblestore

## Interface DataStructureInterface

- All Known Implementing Classes:
    `EvaluationStatisticsWrapper`, `ReadCache`

      @Experimental
      public interface DataStructureInterface

  An interface to implement a base data structure for the ExtensibleStore. The data structure needs to be thread safe.
  Author:
    Håvard Mikkelsen Ottestad

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `default void` | `addStatement​(Collection<ExtensibleStatement> statements)` |
    `void` | `addStatement​(ExtensibleStatement statement)` |
    `default void` | `clear​(boolean inferred, Resource[] contexts)` |
    `void` | `flushForCommit()` |
    `void` | `flushForReading()` |
    `default long` | `getEstimatedSize()` |
    `CloseableIteration<? extends ExtensibleStatement,​SailException>` | `getStatements​(Resource subject, IRI predicate, Value object, boolean inferred, Resource... context)` |
    `void` | `init()` |
    `default void` | `removeStatement​(Collection<ExtensibleStatement> statements)` |
    `void` | `removeStatement​(ExtensibleStatement statement)` |
    `default boolean` | `removeStatementsByQuery​(Resource subj, IRI pred, Value obj, boolean inferred, Resource[] contexts)` |

- - ### Method Detail

    - #### addStatement

          void addStatement​(ExtensibleStatement statement)

    - #### removeStatement

          void removeStatement​(ExtensibleStatement statement)

    - #### addStatement

          default void addStatement​(Collection<ExtensibleStatement> statements)

    - #### removeStatement

          default void removeStatement​(Collection<ExtensibleStatement> statements)

    - #### getStatements

          CloseableIteration<? extends ExtensibleStatement,​SailException> getStatements​(Resource subject,
                                                                                              IRI predicate,
                                                                                              Value object,
                                                                                              boolean inferred,
                                                                                              Resource... context)

    - #### flushForReading

          void flushForReading()

    - #### init

          void init()

    - #### clear

          default void clear​(boolean inferred,
                             Resource[] contexts)

    - #### flushForCommit

          void flushForCommit()

    - #### removeStatementsByQuery

          default boolean removeStatementsByQuery​(Resource subj,
                                                  IRI pred,
                                                  Value obj,
                                                  boolean inferred,
                                                  Resource[] contexts)

    - #### getEstimatedSize

          default long getEstimatedSize()