Package org.eclipse.rdf4j.query.algebra.evaluation.impl

## Class AbstractEvaluationStrategyFactory

- java.lang.Object
- - org.eclipse.rdf4j.query.algebra.evaluation.impl.AbstractEvaluationStrategyFactory

- All Implemented Interfaces:
    `EvaluationStrategyFactory`
  Direct Known Subclasses:
    `ExtendedEvaluationStrategyFactory`, `StrictEvaluationStrategyFactory`

      public abstract class AbstractEvaluationStrategyFactory
      extends Object
      implements EvaluationStrategyFactory

  Abstract base class for `ExtendedEvaluationStrategy`.
  Author:
    Jeen Broekstra

- - ### Constructor Summary

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Optional<QueryOptimizerPipeline>` | `getOptimizerPipeline()` | Get the `QueryOptimizerPipeline` that this factory will inject into the `EvaluationStrategy`, if any.
    `long` | `getQuerySolutionCacheThreshold()` | Get the number of query solutions the `EvaluationStrategy` will keep in main memory before it attempts to sync to a temporary disk cache.
    `boolean` | `isTrackResultSize()` | Returns the status of the result size tracking for the query plan.
    `void` | `setOptimizerPipeline​(QueryOptimizerPipeline pipeline)` | Set a `QueryOptimizerPipeline` to be used for query execution planning by the `EvaluationStrategy`.
    `void` | `setQuerySolutionCacheThreshold​(long threshold)` | Set the number of query solutions the `EvaluationStrategy` will keep in main memory before it attempts to sync to a temporary disk cache.
    `void` | `setTrackResultSize​(boolean trackResultSize)` | Enable or disable results size tracking for the query plan.

    - ### 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.query.algebra.evaluation.EvaluationStrategyFactory

      `createEvaluationStrategy`

- - ### Constructor Detail

    - #### AbstractEvaluationStrategyFactory

          public AbstractEvaluationStrategyFactory()

  - ### Method Detail

    - #### setQuerySolutionCacheThreshold

          public void setQuerySolutionCacheThreshold​(long threshold)

      Description copied from interface: `EvaluationStrategyFactory`
      Set the number of query solutions the `EvaluationStrategy` will keep in main memory before it attempts to sync to a temporary disk cache. If set to 0, no disk caching will occur. EvaluationStrategies that provide no disk caching functionality are free to ignore this parameter.
      Specified by:
        `setQuerySolutionCacheThreshold` in interface `EvaluationStrategyFactory`
      Parameters:
        `threshold` - the number of query solutions that the EvaluationStrategy can cache in main memory before attempting disk sync.

    - #### getQuerySolutionCacheThreshold

          public long getQuerySolutionCacheThreshold()

      Description copied from interface: `EvaluationStrategyFactory`
      Get the number of query solutions the `EvaluationStrategy` will keep in main memory before it attempts to sync to a temporary disk cache. If set to 0, no disk caching will occur. EvaluationStrategies that provide no disk caching functionality are free to ignore this parameter.
      Specified by:
        `getQuerySolutionCacheThreshold` in interface `EvaluationStrategyFactory`

    - #### setOptimizerPipeline

          public void setOptimizerPipeline​(QueryOptimizerPipeline pipeline)

      Description copied from interface: `EvaluationStrategyFactory`
      Set a `QueryOptimizerPipeline` to be used for query execution planning by the `EvaluationStrategy`.
      Specified by:
        `setOptimizerPipeline` in interface `EvaluationStrategyFactory`
      Parameters:
        `pipeline` - a `QueryOptimizerPipeline`

    - #### getOptimizerPipeline

          public Optional<QueryOptimizerPipeline> getOptimizerPipeline()

      Description copied from interface: `EvaluationStrategyFactory`
      Get the `QueryOptimizerPipeline` that this factory will inject into the `EvaluationStrategy`, if any. If no `QueryOptimizerPipeline` is defined, the `EvaluationStrategy` itself determines the pipeline.
      Specified by:
        `getOptimizerPipeline` in interface `EvaluationStrategyFactory`
      Returns:
        a `QueryOptimizerPipeline`, or `Optional.empty()` if no pipeline is set on this factory.

    - #### isTrackResultSize

          public boolean isTrackResultSize()

      Description copied from interface: `EvaluationStrategyFactory`
      Returns the status of the result size tracking for the query plan. Useful to determine which parts of a query plan generated the most data.
      Specified by:
        `isTrackResultSize` in interface `EvaluationStrategyFactory`
      Returns:
        true if result size tracking is enabled.

    - #### setTrackResultSize

          public void setTrackResultSize​(boolean trackResultSize)

      Description copied from interface: `EvaluationStrategyFactory`
      Enable or disable results size tracking for the query plan. Useful to determine which parts of a query plan generated the most data.
      Specified by:
        `setTrackResultSize` in interface `EvaluationStrategyFactory`
      Parameters:
        `trackResultSize` - true to enable tracking.