Class QueryResultLoadingOptimizer<H extends QueryHolder>

java.lang.Object
cz.cvut.kbss.jopa.query.sparql.QueryResultLoadingOptimizer<H>
Type Parameters:
H - Query holder type
Direct Known Subclasses:
SparqlQueryResultLoadingOptimizer

public abstract class QueryResultLoadingOptimizer<H extends QueryHolder> extends Object
Allows optimizing query results by modifying the query assembly and providing a corresponding query result loader.
  • Field Details

    • queryHolder

      protected final H extends QueryHolder queryHolder
    • optimizationEnabled

      protected boolean optimizationEnabled
  • Constructor Details

    • QueryResultLoadingOptimizer

      protected QueryResultLoadingOptimizer(H queryHolder)
  • Method Details

    • enableOptimization

      public void enableOptimization()
    • disableOptimization

      public void disableOptimization()
    • optimizeQueryAssembly

      public abstract void optimizeQueryAssembly(Class<?> resultClass)
      Modifies the query assembly for optimized entity loading, if possible.
      Parameters:
      resultClass - Query result class
    • getQueryResultLoader

      public abstract <T> QueryResultLoader<T> getQueryResultLoader(Class<T> resultClass, Descriptor descriptor)
      Gets loader of query results for the specified query.

      If possible, a version supporting optimized entity loading is returned (depending on whether optimizeQueryAssembly(Class) has been called and the assembled query optimized).

      Type Parameters:
      T - Result type
      Parameters:
      resultClass - Query result class
      descriptor - Descriptor specified for results
      Returns:
      Query result loader