Class AggregateEmbeddableResultImpl<T>
- java.lang.Object
-
- org.hibernate.sql.results.graph.AbstractFetchParent
-
- org.hibernate.sql.results.graph.embeddable.internal.AggregateEmbeddableResultImpl<T>
-
- All Implemented Interfaces:
DomainResult<T>
,DomainResultGraphNode
,AggregateEmbeddableResultGraphNode
,EmbeddableResult<T>
,EmbeddableResultGraphNode
,FetchParent
,InitializerProducer<AggregateEmbeddableResultImpl<T>>
public class AggregateEmbeddableResultImpl<T> extends AbstractFetchParent implements AggregateEmbeddableResultGraphNode, DomainResult<T>, EmbeddableResult<T>, InitializerProducer<AggregateEmbeddableResultImpl<T>>
A Result for an embeddable that is mapped as aggregate e.g. STRUCT, JSON or XML. This is only used whenEmbeddableMappingType.shouldSelectAggregateMapping()
returnstrue
. The main difference is that it selects only the aggregate column and usesDomainResultCreationState.visitNestedFetches(FetchParent)
for creating the fetches for the attributes of the embeddable.
-
-
Constructor Summary
Constructors Constructor Description AggregateEmbeddableResultImpl(NavigablePath navigablePath, EmbeddableValuedModelPart embeddedPartDescriptor, String resultVariable, DomainResultCreationState creationState)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
containsAnyNonScalarResults()
Does this node contain any non-scalar (sub-)results?Initializer<?>
createInitializer(AggregateEmbeddableResultImpl<T> resultGraphNode, InitializerParent<?> parent, AssemblerCreationState creationState)
Initializer<?>
createInitializer(InitializerParent<?> parent, AssemblerCreationState creationState)
DomainResultAssembler<T>
createResultAssembler(InitializerParent<?> parent, AssemblerCreationState creationState)
Create an assembler (and any initializers) for this result.int[]
getAggregateValuesArrayPositions()
Returns the positions within the values array of the respective nesting level at which the data for this aggregate can be found.EmbeddableMappingType
getFetchContainer()
EmbeddableValuedModelPart
getReferencedMappingContainer()
This parent's mapping typeEmbeddableMappingType
getReferencedMappingType()
This parent's mapping typeJavaType<?>
getResultJavaType()
String
getResultVariable()
The result-variable (alias) associated with this result.-
Methods inherited from class org.hibernate.sql.results.graph.AbstractFetchParent
afterInitialize, collectValueIndexesToCache, containsCollectionFetches, findFetch, getFetches, getNavigablePath, hasJoinFetches, resetFetches
-
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.results.graph.DomainResultGraphNode
appliesTo
-
Methods inherited from interface org.hibernate.sql.results.graph.embeddable.EmbeddableResultGraphNode
getNavigablePath
-
Methods inherited from interface org.hibernate.sql.results.graph.FetchParent
collectValueIndexesToCache, containsCollectionFetches, findFetch, generateFetchableFetch, getCollectionFetchesCount, getFetches, getReferencedModePart, getRoot, hasJoinFetches, resolveNavigablePath
-
-
-
-
Constructor Detail
-
AggregateEmbeddableResultImpl
public AggregateEmbeddableResultImpl(NavigablePath navigablePath, EmbeddableValuedModelPart embeddedPartDescriptor, String resultVariable, DomainResultCreationState creationState)
-
-
Method Detail
-
getAggregateValuesArrayPositions
public int[] getAggregateValuesArrayPositions()
Description copied from interface:AggregateEmbeddableResultGraphNode
Returns the positions within the values array of the respective nesting level at which the data for this aggregate can be found.- Specified by:
getAggregateValuesArrayPositions
in interfaceAggregateEmbeddableResultGraphNode
-
getResultVariable
public String getResultVariable()
Description copied from interface:DomainResult
The result-variable (alias) associated with this result.- Specified by:
getResultVariable
in interfaceDomainResult<T>
-
containsAnyNonScalarResults
public boolean containsAnyNonScalarResults()
Description copied from interface:DomainResultGraphNode
Does this node contain any non-scalar (sub-)results?- Specified by:
containsAnyNonScalarResults
in interfaceDomainResultGraphNode
-
getFetchContainer
public EmbeddableMappingType getFetchContainer()
- Specified by:
getFetchContainer
in classAbstractFetchParent
-
getResultJavaType
public JavaType<?> getResultJavaType()
- Specified by:
getResultJavaType
in interfaceDomainResultGraphNode
- Overrides:
getResultJavaType
in classAbstractFetchParent
-
getReferencedMappingType
public EmbeddableMappingType getReferencedMappingType()
Description copied from interface:FetchParent
This parent's mapping type- Specified by:
getReferencedMappingType
in interfaceEmbeddableResultGraphNode
- Specified by:
getReferencedMappingType
in interfaceFetchParent
-
getReferencedMappingContainer
public EmbeddableValuedModelPart getReferencedMappingContainer()
Description copied from interface:FetchParent
This parent's mapping type- Specified by:
getReferencedMappingContainer
in interfaceEmbeddableResultGraphNode
- Specified by:
getReferencedMappingContainer
in interfaceFetchParent
- Overrides:
getReferencedMappingContainer
in classAbstractFetchParent
-
createResultAssembler
public DomainResultAssembler<T> createResultAssembler(InitializerParent<?> parent, AssemblerCreationState creationState)
Description copied from interface:DomainResult
Create an assembler (and any initializers) for this result.- Specified by:
createResultAssembler
in interfaceDomainResult<T>
-
createInitializer
public Initializer<?> createInitializer(AggregateEmbeddableResultImpl<T> resultGraphNode, InitializerParent<?> parent, AssemblerCreationState creationState)
- Specified by:
createInitializer
in interfaceInitializerProducer<T>
-
createInitializer
public Initializer<?> createInitializer(InitializerParent<?> parent, AssemblerCreationState creationState)
- Specified by:
createInitializer
in interfaceFetchParent
-
-