Interface DomainResultProducer<T>

All Known Subinterfaces:
PathInterpretation<T>, PluralTableGroup, Predicate, TableGroup, VirtualTableGroup
All Known Implementing Classes:
AbstractPredicate, AbstractTableGroup, Any, BetweenPredicate, BinaryArithmeticExpression, BooleanExpressionPredicate, CaseSearchedExpression, CaseSimpleExpression, CollectionTableGroup, ComparisonPredicate, Conversion, CorrelatedPluralTableGroup, CorrelatedTableGroup, CteTableGroup, DelegatingTableGroup, Duration, EmbeddableFunctionTableGroup, EmbeddableTypeLiteral, EntityTypeLiteral, Every, ExistsPredicate, FilterPredicate, FilterPredicate.FilterFragmentPredicate, FunctionTableGroup, GroupedPredicate, InArrayPredicate, InListPredicate, InSubQueryPredicate, JdbcLiteral, Junction, LazyTableGroup, LikePredicate, MappedByTableGroup, MutatingTableReferenceGroupWrapper, NegatedPredicate, NullnessPredicate, OneToManyTableGroup, Over, QueryLiteral, QueryPartTableGroup, SelectStatement, SelfRenderingAggregateFunctionSqlAstExpression, SelfRenderingFunctionSqlAstExpression, SelfRenderingOrderedSetAggregateFunctionSqlAstExpression, SelfRenderingPredicate, SelfRenderingWindowFunctionSqlAstExpression, SqlFragmentPredicate, SqlTuple, StandardTableGroup, StandardVirtualTableGroup, TableGroupJoin, ThruthnessPredicate, UnaryOperation, UnionTableGroup, UnparsedNumericLiteral, ValuesTableGroup

@SPI({USE,IMPLEMENT}) public interface DomainResultProducer<T>
Something that can produce a DomainResult as part of a SQM interpretation
  • Method Details

    • createDomainResult

      @SPI(SUPPLY) DomainResult<T> createDomainResult(String resultVariable, DomainResultCreationState creationState)
      Produce the domain query
    • applySqlSelections

      void applySqlSelections(DomainResultCreationState creationState)
      Used when this producer is a selection in a sub-query. The DomainResult is only needed for root query of a SELECT statement. This default impl assumes this producer is a true (Sql)Expression