Interface Expression

All Superinterfaces:
SqlAstNode, SqlSelectionProducer
All Known Subinterfaces:
AggregateFunctionExpression, FunctionExpression, JdbcParameter, Literal, OrderedSetAggregateFunctionExpression, PluralTableGroup, Predicate, SelfRenderingExpression, SqmPathInterpretation<T>, TableGroup, VirtualTableGroup, WindowFunctionExpression
All Known Implementing Classes:
AbstractJdbcParameter, AbstractPredicate, AbstractSqmPathInterpretation, AbstractTableGroup, AggregateColumnWriteExpression, AliasedExpression, Any, AnyDiscriminatorPathInterpretation, AsWrappedExpression, BasicValuedPathInterpretation, BetweenPredicate, BinaryArithmeticExpression, BooleanExpressionPredicate, CaseSearchedExpression, CaseSimpleExpression, CaseStatementDiscriminatorMappingImpl.CaseStatementDiscriminatorExpression, CastTarget, CollectionTableGroup, ColumnReference, ColumnValueParameter, ColumnWriteFragment, ComparisonPredicate, Conversion, CorrelatedPluralTableGroup, CorrelatedTableGroup, CteTableGroup, DelegatingTableGroup, DiscriminatedAssociationPathInterpretation, DiscriminatorPathInterpretation, Distinct, Duration, DurationUnit, EmbeddableFunctionTableGroup, EmbeddableTypeLiteral, EmbeddableValuedExpression, EmbeddableValuedPathInterpretation, EntityTypeLiteral, EntityValuedPathInterpretation, Every, ExistsPredicate, ExpressionDomainResultProducer, ExtractUnit, FilterJdbcParameter, FilterPredicate, FilterPredicate.FilterFragmentPredicate, FunctionTableGroup, GroupedPredicate, InArrayPredicate, InListPredicate, InSubQueryPredicate, JdbcLiteral, JdbcParameterImpl, Junction, LazyTableGroup, LikePredicate, LiteralAsParameter, MappedByTableGroup, ModifiedSubQueryExpression, MutatingTableReferenceGroupWrapper, NegatedPredicate, NestedColumnReference, NonAggregatedCompositeValuedPathInterpretation, NullnessPredicate, OneToManyTableGroup, Over, Overflow, PluralValuedSimplePathInterpretation, PostgreSQLJsonTableFunction.ClauseLevelDocumentExpression, QueryLiteral, QueryPartTableGroup, ResultSetMappingSqlSelection, SelectStatement, SelfRenderingAggregateFunctionSqlAstExpression, SelfRenderingFunctionSqlAstExpression, SelfRenderingOrderedSetAggregateFunctionSqlAstExpression, SelfRenderingOrderingExpression, SelfRenderingPredicate, SelfRenderingSqlFragmentExpression, SelfRenderingWindowFunctionSqlAstExpression, SqlFragmentPredicate, SqlSelectionExpression, SqlTuple, SqlTypedMappingJdbcParameter, SqmParameterInterpretation, StandardTableGroup, StandardVirtualTableGroup, Star, Summarization, TableGroupImpl, ThruthnessPredicate, UnaryOperation, UnionTableGroup, UnparsedNumericLiteral, ValuesTableGroup, VersionTypeSeedParameterSpecification

public interface Expression extends SqlAstNode, SqlSelectionProducer
Models an expression at the SQL AST level.
  • Method Details

    • getExpressionType

      @Nullable JdbcMappingContainer getExpressionType()
      The type for this expression
    • getColumnReference

      default @Nullable ColumnReference getColumnReference()
    • createSqlSelection

      default SqlSelection createSqlSelection(int jdbcPosition, int valuesArrayPosition, JavaType javaType, boolean virtual, TypeConfiguration typeConfiguration)
      Description copied from interface: SqlSelectionProducer
      Create a SqlSelection for the given JDBC ResultSet position
      Specified by:
      createSqlSelection in interface SqlSelectionProducer
      Parameters:
      jdbcPosition - The index position used to read values from JDBC
      valuesArrayPosition - The position in our "current JDBC values array"
      javaType - The descriptor for the Java type to read the value as
      virtual - Whether the select is virtual or real. See SqlSelection.isVirtual()
      typeConfiguration - The associated TypeConfiguration
    • createDomainResultSqlSelection

      default SqlSelection createDomainResultSqlSelection(int jdbcPosition, int valuesArrayPosition, JavaType javaType, boolean virtual, TypeConfiguration typeConfiguration)