Class EmbeddableValuedExpression<T>
- java.lang.Object
-
- org.hibernate.query.sqm.sql.internal.EmbeddableValuedExpression<T>
-
- All Implemented Interfaces:
DomainResultProducer<T>
,SqlSelectionProducer
,Expression
,SqlTupleContainer
,SqlAstNode
,Assignable
public class EmbeddableValuedExpression<T> extends Object implements Expression, DomainResultProducer<T>, Assignable, SqlTupleContainer
A computed expression that produces an embeddable valued model part. It may only be composed of basic attribute mappings.
-
-
Constructor Summary
Constructors Constructor Description EmbeddableValuedExpression(NavigablePath baseNavigablePath, EmbeddableValuedModelPart mapping, SqlTuple sqlExpression)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
accept(SqlAstWalker sqlTreeWalker)
void
applySqlSelections(DomainResultCreationState creationState)
Used when this producer is a selection in a sub-query.DomainResult<T>
createDomainResult(String resultVariable, DomainResultCreationState creationState)
Produce the domain queryList<ColumnReference>
getColumnReferences()
ModelPart
getExpressionType()
The type for this expressionSqlTuple
getSqlTuple()
void
visitColumnReferences(Consumer<ColumnReference> columnReferenceConsumer)
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.hibernate.sql.ast.tree.expression.Expression
createDomainResultSqlSelection, createDomainResultSqlSelection, createSqlSelection, createSqlSelection, getColumnReference
-
-
-
-
Constructor Detail
-
EmbeddableValuedExpression
public EmbeddableValuedExpression(NavigablePath baseNavigablePath, EmbeddableValuedModelPart mapping, SqlTuple sqlExpression)
-
-
Method Detail
-
getExpressionType
public ModelPart getExpressionType()
Description copied from interface:Expression
The type for this expression- Specified by:
getExpressionType
in interfaceExpression
-
createDomainResult
public DomainResult<T> createDomainResult(String resultVariable, DomainResultCreationState creationState)
Description copied from interface:DomainResultProducer
Produce the domain query- Specified by:
createDomainResult
in interfaceDomainResultProducer<T>
-
applySqlSelections
public void applySqlSelections(DomainResultCreationState creationState)
Description copied from interface:DomainResultProducer
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- Specified by:
applySqlSelections
in interfaceDomainResultProducer<T>
-
visitColumnReferences
public void visitColumnReferences(Consumer<ColumnReference> columnReferenceConsumer)
- Specified by:
visitColumnReferences
in interfaceAssignable
-
getColumnReferences
public List<ColumnReference> getColumnReferences()
- Specified by:
getColumnReferences
in interfaceAssignable
-
getSqlTuple
public SqlTuple getSqlTuple()
- Specified by:
getSqlTuple
in interfaceSqlTupleContainer
-
accept
public void accept(SqlAstWalker sqlTreeWalker)
- Specified by:
accept
in interfaceSqlAstNode
-
-