org.hibernate.sql.results.internal.StandardJdbcValuesMapping Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of hibernate-core Show documentation
Show all versions of hibernate-core Show documentation
Hibernate's core ORM functionality
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later
* See the lgpl.txt file in the root directory or http://www.gnu.org/licenses/lgpl-2.1.html
*/
package org.hibernate.sql.results.internal;
import java.util.List;
import java.util.Set;
import java.util.function.Consumer;
import org.hibernate.internal.util.collections.CollectionHelper;
import org.hibernate.sql.ast.spi.SqlSelection;
import org.hibernate.sql.results.spi.AssemblerCreationState;
import org.hibernate.sql.results.spi.DomainResult;
import org.hibernate.sql.results.spi.DomainResultAssembler;
import org.hibernate.sql.results.spi.Initializer;
import org.hibernate.sql.results.spi.JdbcValuesMapping;
/**
* @author Steve Ebersole
*/
public class StandardJdbcValuesMapping implements JdbcValuesMapping {
private final List sqlSelections;
private final List domainResults;
public StandardJdbcValuesMapping(
List sqlSelections,
List domainResults) {
this.sqlSelections = sqlSelections;
this.domainResults = domainResults;
}
@Override
public List getSqlSelections() {
return sqlSelections;
}
@Override
public List getDomainResults() {
return domainResults;
}
@Override
public List resolveAssemblers(
Consumer initializerConsumer,
AssemblerCreationState creationState) {
final List assemblers = CollectionHelper.arrayList( domainResults.size() );
//noinspection ForLoopReplaceableByForEach
for ( int i = 0; i < domainResults.size(); i++ ) {
final DomainResultAssembler resultAssembler = domainResults.get( i ).createResultAssembler(
initializerConsumer,
creationState
);
assemblers.add( resultAssembler );
}
return assemblers;
}
}