Package com.complexible.stardog.plan.eval.service

# Class LogicalServiceQuery.LogicalServiceQueryBuilder

java.lang.Object
com.complexible.stardog.plan.eval.service.ServiceQuery.ServiceQueryBuilder
com.complexible.stardog.plan.eval.service.PlanNodeBodyServiceQuery.PlanNodeBodyServiceQueryBuilder
com.complexible.stardog.plan.eval.service.LogicalServiceQuery.LogicalServiceQueryBuilder

Enclosing class:
  `LogicalServiceQuery`

protected static class LogicalServiceQuery.LogicalServiceQueryBuilder extends PlanNodeBodyServiceQuery.PlanNodeBodyServiceQueryBuilder

- ## Field Summary

  ### Fields inherited from class com.complexible.stardog.plan.eval.service.PlanNodeBodyServiceQuery.PlanNodeBodyServiceQueryBuilder

  `mBody, mPositionPredicate, mVarNames`

  ### Fields inherited from class com.complexible.stardog.plan.eval.service.ServiceQuery.ServiceQueryBuilder

  `mServiceTerm`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `LogicalServiceQueryBuilder()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `LogicalServiceQuery`
  `build()`
  `PlanNodeBodyServiceQuery.PlanNodeBodyServiceQueryBuilder`
  `replaceConstants(com.complexible.stardog.index.dictionary.MappingDictionary dictionary, UnaryOperator<com.complexible.stardog.plan.filter.expr.Constant> mapping, boolean performValidation)`
  Replace constants in the query using the provided mapping.
  `LogicalServiceQuery.LogicalServiceQueryBuilder`
  `service(Service theService)`

  ### Methods inherited from class com.complexible.stardog.plan.eval.service.PlanNodeBodyServiceQuery.PlanNodeBodyServiceQueryBuilder

  `assignIDs, body, optimize, replaceBodyConstants, scopeOf, serviceTerm, termPositionPredicate, unionOf, varNames`

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

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

- ## Constructor Details

  - ### LogicalServiceQueryBuilder

    protected LogicalServiceQueryBuilder()

- ## Method Details

  - ### service

    public LogicalServiceQuery.LogicalServiceQueryBuilder service(Service theService)

  - ### replaceConstants

    public PlanNodeBodyServiceQuery.PlanNodeBodyServiceQueryBuilder replaceConstants(com.complexible.stardog.index.dictionary.MappingDictionary dictionary, UnaryOperator<com.complexible.stardog.plan.filter.expr.Constant> mapping, boolean performValidation)
    Description copied from class: `ServiceQuery.ServiceQueryBuilder`
    Replace constants in the query using the provided mapping. Constants that are able to be replaced will be canonicalized for `plan caching`. Constants which are not able to be replaced will be cached and only plans with the same constants will be reused.

    If `performValidation` is not set, the returned query may be abstract until another call to the same method with `performValidation` set to true. That is, `performValidation` set to false indicates we may use canonicalized constants which need not pass query validation. Canonicalized service queries won't be executed unless replaced with concrete constants.

    todo: this may not be the best name since it's not really about general purpose replacement but specifically about canonicalisation
    Overrides:
      `replaceConstants` in class `PlanNodeBodyServiceQuery.PlanNodeBodyServiceQueryBuilder`

  - ### build

    public LogicalServiceQuery build()
    Specified by:
      `build` in class `PlanNodeBodyServiceQuery.PlanNodeBodyServiceQueryBuilder`