Skip to content

Commit 71a4d7b

Browse files
committed
superficial cleanups in metamodel.internal package
1 parent ebf7fee commit 71a4d7b

24 files changed

+190
-213
lines changed

hibernate-core/src/main/java/org/hibernate/metamodel/internal/AbstractCompositeIdentifierMapping.java

Lines changed: 28 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,10 @@
1111
import org.hibernate.engine.FetchTiming;
1212
import org.hibernate.engine.spi.SessionFactoryImplementor;
1313
import org.hibernate.engine.spi.SharedSessionContractImplementor;
14-
import org.hibernate.internal.util.collections.CollectionHelper;
15-
import org.hibernate.metamodel.mapping.AttributeMapping;
1614
import org.hibernate.metamodel.mapping.CompositeIdentifierMapping;
1715
import org.hibernate.metamodel.mapping.EmbeddableMappingType;
18-
import org.hibernate.metamodel.mapping.EntityIdentifierMapping;
1916
import org.hibernate.metamodel.mapping.EntityMappingType;
20-
import org.hibernate.metamodel.mapping.ForeignKeyDescriptor;
2117
import org.hibernate.metamodel.mapping.ModelPart;
22-
import org.hibernate.metamodel.mapping.SelectableMappings;
2318
import org.hibernate.metamodel.mapping.internal.MappingModelCreationProcess;
2419
import org.hibernate.metamodel.mapping.internal.ToOneAttributeMapping;
2520
import org.hibernate.metamodel.model.domain.NavigableRole;
@@ -30,12 +25,10 @@
3025
import org.hibernate.sql.ast.spi.SqlAliasBase;
3126
import org.hibernate.sql.ast.spi.SqlAstCreationState;
3227
import org.hibernate.sql.ast.tree.expression.ColumnReference;
33-
import org.hibernate.sql.ast.tree.expression.Expression;
3428
import org.hibernate.sql.ast.tree.expression.SqlTuple;
3529
import org.hibernate.sql.ast.tree.from.StandardVirtualTableGroup;
3630
import org.hibernate.sql.ast.tree.from.TableGroup;
3731
import org.hibernate.sql.ast.tree.from.TableGroupJoin;
38-
import org.hibernate.sql.ast.tree.from.TableReference;
3932
import org.hibernate.sql.ast.tree.predicate.Predicate;
4033
import org.hibernate.sql.results.graph.DomainResult;
4134
import org.hibernate.sql.results.graph.DomainResultCreationState;
@@ -48,6 +41,8 @@
4841

4942
import org.checkerframework.checker.nullness.qual.Nullable;
5043

44+
import static org.hibernate.internal.util.collections.CollectionHelper.arrayList;
45+
5146
/**
5247
* Base implementation for composite identifier mappings
5348
*
@@ -66,7 +61,9 @@ public AbstractCompositeIdentifierMapping(
6661
EntityMappingType entityMapping,
6762
String tableExpression,
6863
MappingModelCreationProcess creationProcess) {
69-
this.navigableRole = entityMapping.getNavigableRole().appendContainer( EntityIdentifierMapping.ID_ROLE_NAME );
64+
this.navigableRole =
65+
entityMapping.getNavigableRole()
66+
.appendContainer( ID_ROLE_NAME );
7067
this.entityMapping = entityMapping;
7168
this.tableExpression = tableExpression;
7269
this.sessionFactory = creationProcess.getCreationContext().getSessionFactory();
@@ -135,8 +132,8 @@ public TableGroupJoin createTableGroupJoin(
135132
boolean fetched,
136133
boolean addsPredicate,
137134
SqlAstCreationState creationState) {
138-
final SqlAstJoinType joinType = determineSqlJoinType( lhs, requestedJoinType, fetched );
139-
final TableGroup tableGroup = createRootTableGroupJoin(
135+
final var joinType = determineSqlJoinType( lhs, requestedJoinType, fetched );
136+
final var tableGroup = createRootTableGroupJoin(
140137
navigablePath,
141138
lhs,
142139
explicitSourceAlias,
@@ -146,7 +143,6 @@ public TableGroupJoin createTableGroupJoin(
146143
null,
147144
creationState
148145
);
149-
150146
return new TableGroupJoin( navigablePath, joinType, tableGroup, null );
151147
}
152148

@@ -184,26 +180,24 @@ public <X, Y> int forEachJdbcValue(
184180
JdbcValuesBiConsumer<X, Y> valuesConsumer,
185181
SharedSessionContractImplementor session) {
186182
int span = 0;
187-
final EmbeddableMappingType embeddableTypeDescriptor = getEmbeddableTypeDescriptor();
183+
final var embeddableTypeDescriptor = getEmbeddableTypeDescriptor();
188184
final int size = embeddableTypeDescriptor.getNumberOfAttributeMappings();
189185
if ( value == null ) {
190186
for ( int i = 0; i < size; i++ ) {
191-
final AttributeMapping attributeMapping = embeddableTypeDescriptor.getAttributeMapping( i );
187+
final var attributeMapping = embeddableTypeDescriptor.getAttributeMapping( i );
192188
span += attributeMapping.forEachJdbcValue( null, span + offset, x, y, valuesConsumer, session );
193189
}
194190
}
195191
else {
196192
for ( int i = 0; i < size; i++ ) {
197-
final AttributeMapping attributeMapping = embeddableTypeDescriptor.getAttributeMapping( i );
198-
final Object o = embeddableTypeDescriptor.getValue( value, i );
193+
final var attributeMapping = embeddableTypeDescriptor.getAttributeMapping( i );
194+
final Object object = embeddableTypeDescriptor.getValue( value, i );
199195
if ( attributeMapping instanceof ToOneAttributeMapping toOneAttributeMapping ) {
200-
final ForeignKeyDescriptor fkDescriptor = toOneAttributeMapping.getForeignKeyDescriptor();
201-
final Object identifier = fkDescriptor.getAssociationKeyFromSide(
202-
o,
203-
toOneAttributeMapping.getSideNature().inverse(),
204-
session
205-
);
206-
span += fkDescriptor.forEachJdbcValue(
196+
final var foreignKeyDescriptor = toOneAttributeMapping.getForeignKeyDescriptor();
197+
final var inverse = toOneAttributeMapping.getSideNature().inverse();
198+
final Object identifier =
199+
foreignKeyDescriptor.getAssociationKeyFromSide( object, inverse, session );
200+
span += foreignKeyDescriptor.forEachJdbcValue(
207201
identifier,
208202
span + offset,
209203
x,
@@ -213,7 +207,7 @@ public <X, Y> int forEachJdbcValue(
213207
);
214208
}
215209
else {
216-
span += attributeMapping.forEachJdbcValue( o, span + offset, x, y, valuesConsumer, session );
210+
span += attributeMapping.forEachJdbcValue( object, span + offset, x, y, valuesConsumer, session );
217211
}
218212
}
219213
}
@@ -226,22 +220,22 @@ public SqlTuple toSqlExpression(
226220
Clause clause,
227221
SqmToSqlAstConverter walker,
228222
SqlAstCreationState sqlAstCreationState) {
229-
final SelectableMappings selectableMappings = getEmbeddableTypeDescriptor();
230-
final List<ColumnReference> columnReferences = CollectionHelper.arrayList( selectableMappings.getJdbcTypeCount() );
231-
final NavigablePath navigablePath = tableGroup.getNavigablePath().append( getNavigableRole().getNavigableName() );
232-
final TableReference defaultTableReference = tableGroup.resolveTableReference( navigablePath, getContainingTableExpression() );
223+
final List<ColumnReference> columnReferences = arrayList( getEmbeddableTypeDescriptor().getJdbcTypeCount() );
224+
final var navigablePath = tableGroup.getNavigablePath().append( getNavigableRole().getNavigableName() );
225+
final var defaultTableReference = tableGroup.resolveTableReference( navigablePath, getContainingTableExpression() );
233226
getEmbeddableTypeDescriptor().forEachSelectable(
234227
(columnIndex, selection) -> {
235-
final TableReference tableReference = getContainingTableExpression().equals( selection.getContainingTableExpression() )
236-
? defaultTableReference
237-
: tableGroup.resolveTableReference( navigablePath, selection.getContainingTableExpression() );
238-
final Expression columnReference = sqlAstCreationState.getSqlExpressionResolver()
239-
.resolveSqlExpression( tableReference, selection );
240-
228+
final String containingTableExpression = selection.getContainingTableExpression();
229+
final var tableReference =
230+
getContainingTableExpression().equals( containingTableExpression )
231+
? defaultTableReference
232+
: tableGroup.resolveTableReference( navigablePath, containingTableExpression );
233+
final var columnReference =
234+
sqlAstCreationState.getSqlExpressionResolver()
235+
.resolveSqlExpression( tableReference, selection );
241236
columnReferences.add( (ColumnReference) columnReference );
242237
}
243238
);
244-
245239
return new SqlTuple( columnReferences, this );
246240
}
247241

hibernate-core/src/main/java/org/hibernate/metamodel/internal/AbstractDynamicMapInstantiator.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ public String getRoleName() {
3333
@Override
3434
public boolean isInstance(Object object) {
3535
return object instanceof Map<?, ?> map
36-
&& isSameRole( (String) map.get( TYPE_KEY ) );
37-
// todo (6.0) : should this be an exception if there is no TYPE_KEY
36+
// TODO: should this be an exception if there is no TYPE_KEY
37+
&& roleName.equals( map.get( TYPE_KEY ) );
3838
}
3939

4040
protected boolean isSameRole(String type) {

hibernate-core/src/main/java/org/hibernate/metamodel/internal/AbstractEntityInstantiatorPojo.java

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77

88
import org.hibernate.bytecode.enhance.spi.interceptor.LazyAttributeLoadingInterceptor;
9+
import org.hibernate.bytecode.enhance.spi.interceptor.LazyAttributeLoadingInterceptor.EntityRelatedState;
910
import org.hibernate.mapping.PersistentClass;
1011
import org.hibernate.metamodel.spi.EntityInstantiator;
1112
import org.hibernate.persister.entity.EntityPersister;
@@ -23,7 +24,7 @@ public abstract class AbstractEntityInstantiatorPojo extends AbstractPojoInstant
2324

2425
private final Class<?> proxyInterface;
2526
private final boolean applyBytecodeInterception;
26-
private final LazyAttributeLoadingInterceptor.EntityRelatedState loadingInterceptorState;
27+
private final EntityRelatedState loadingInterceptorState;
2728

2829
public AbstractEntityInstantiatorPojo(
2930
EntityPersister persister,
@@ -34,17 +35,15 @@ public AbstractEntityInstantiatorPojo(
3435
//TODO this PojoEntityInstantiator appears to not be reused ?!
3536
applyBytecodeInterception =
3637
isPersistentAttributeInterceptableType( persistentClass.getMappedClass() );
37-
if ( applyBytecodeInterception ) {
38-
loadingInterceptorState = new LazyAttributeLoadingInterceptor.EntityRelatedState(
39-
persister.getEntityName(),
40-
persister.getBytecodeEnhancementMetadata()
41-
.getLazyAttributesMetadata()
42-
.getLazyAttributeNames()
43-
);
44-
}
45-
else {
46-
loadingInterceptorState = null;
47-
}
38+
loadingInterceptorState =
39+
applyBytecodeInterception
40+
? new EntityRelatedState(
41+
persister.getEntityName(),
42+
persister.getBytecodeEnhancementMetadata()
43+
.getLazyAttributesMetadata()
44+
.getLazyAttributeNames()
45+
)
46+
: null;
4847
}
4948

5049
protected Object applyInterception(Object entity) {

hibernate-core/src/main/java/org/hibernate/metamodel/internal/BaseAttributeMetadata.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,26 +33,27 @@ protected BaseAttributeMetadata(
3333
this.ownerType = ownerType;
3434
this.member = member;
3535
this.attributeClassification = attributeClassification;
36+
//noinspection unchecked
37+
javaType = (Class<Y>) declaredType( propertyMapping, member );
38+
}
3639

37-
final Class declaredType;
38-
40+
private static Class<?> declaredType(Property propertyMapping, Member member) {
3941
if ( member == null ) {
4042
// assume we have a MAP entity-mode "class"
41-
declaredType = propertyMapping.getType().getReturnedClass();
43+
return propertyMapping.getType().getReturnedClass();
4244
}
4345
else if ( member instanceof Field field ) {
44-
declaredType = field.getType();
46+
return field.getType();
4547
}
4648
else if ( member instanceof Method method ) {
47-
declaredType = method.getReturnType();
49+
return method.getReturnType();
4850
}
4951
else if ( member instanceof MapMember mapMember ) {
50-
declaredType = mapMember.getType();
52+
return mapMember.getType();
5153
}
5254
else {
5355
throw new IllegalArgumentException( "Cannot determine java-type from given member [" + member + "]" );
5456
}
55-
this.javaType = declaredType;
5657
}
5758

5859
public String getName() {

hibernate-core/src/main/java/org/hibernate/metamodel/internal/EmbeddableInstantiatorDynamicMap.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@ public EmbeddableInstantiatorDynamicMap(
3131
@Override
3232
public Object instantiate(ValueAccess valuesAccess) {
3333
final Map<?,?> dataMap = generateDataMap();
34-
final Object[] values = valuesAccess == null ? null : valuesAccess.getValues();
34+
final var values = valuesAccess == null ? null : valuesAccess.getValues();
3535
if ( values != null ) {
36-
final EmbeddableMappingType mappingType = runtimeDescriptorAccess.get();
36+
final var mappingType = runtimeDescriptorAccess.get();
3737
mappingType.setValues( dataMap, values );
3838
}
3939
return dataMap;

hibernate-core/src/main/java/org/hibernate/metamodel/internal/EmbeddableInstantiatorPojoIndirecting.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ public static EmbeddableInstantiatorPojoIndirecting of(
3939
@Override
4040
public Object instantiate(ValueAccess valuesAccess) {
4141
try {
42-
final Object[] originalValues = valuesAccess.getValues();
43-
final Object[] values = new Object[originalValues.length];
42+
final var originalValues = valuesAccess.getValues();
43+
final var values = new Object[originalValues.length];
4444
for ( int i = 0; i < values.length; i++ ) {
4545
values[i] = originalValues[index[i]];
4646
}
@@ -61,8 +61,8 @@ public EmbeddableInstantiatorPojoIndirectingWithGap(Constructor<?> constructor,
6161
@Override
6262
public Object instantiate(ValueAccess valuesAccess) {
6363
try {
64-
final Object[] originalValues = valuesAccess.getValues();
65-
final Object[] values = new Object[index.length];
64+
final var originalValues = valuesAccess.getValues();
65+
final var values = new Object[index.length];
6666
for ( int i = 0; i < values.length; i++ ) {
6767
final int index = this.index[i];
6868
if ( index >= 0 ) {

hibernate-core/src/main/java/org/hibernate/metamodel/internal/EmbeddableInstantiatorPojoOptimized.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ public EmbeddableInstantiatorPojoOptimized(
3131
@Override
3232
public Object instantiate(ValueAccess valuesAccess) {
3333
final Object embeddable = instantiationOptimizer.newInstance();
34-
final EmbeddableMappingType embeddableMapping = embeddableMappingAccess.get();
35-
final Object[] values = valuesAccess.getValues();
34+
final var embeddableMapping = embeddableMappingAccess.get();
35+
final var values = valuesAccess.getValues();
3636
if ( values != null ) {
3737
embeddableMapping.setValues( embeddable, values );
3838
}

hibernate-core/src/main/java/org/hibernate/metamodel/internal/EmbeddableInstantiatorPojoStandard.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ public Object instantiate(ValueAccess valuesAccess) {
5252
}
5353

5454
try {
55-
final Object[] values = valuesAccess == null ? null : valuesAccess.getValues();
55+
final var values = valuesAccess == null ? null : valuesAccess.getValues();
5656
final Object instance = constructor.newInstance();
5757
if ( values != null ) {
5858
// At this point, createEmptyCompositesEnabled is always true.

hibernate-core/src/main/java/org/hibernate/metamodel/internal/EmbeddableInstantiatorProxied.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public EmbeddableInstantiatorProxied(
3030
@Override
3131
public Object instantiate(ValueAccess valuesAccess) {
3232
final Object proxy = factory.getProxy();
33-
final Object[] values = valuesAccess == null ? null : valuesAccess.getValues();
33+
final var values = valuesAccess == null ? null : valuesAccess.getValues();
3434
if ( values != null ) {
3535
embeddableMappingAccess.get().setValues( proxy, values );
3636
}

hibernate-core/src/main/java/org/hibernate/metamodel/internal/EmbeddableInstantiatorRecordIndirecting.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ public Object instantiate(ValueAccess valuesAccess) {
3636
}
3737

3838
try {
39-
final Object[] originalValues = valuesAccess.getValues();
40-
final Object[] values = new Object[originalValues.length];
39+
final var originalValues = valuesAccess.getValues();
40+
final var values = new Object[originalValues.length];
4141
for ( int i = 0; i < values.length; i++ ) {
4242
values[i] = originalValues[index[i]];
4343
}
@@ -62,8 +62,8 @@ public Object instantiate(ValueAccess valuesAccess) {
6262
}
6363

6464
try {
65-
final Object[] originalValues = valuesAccess.getValues();
66-
final Object[] values = new Object[index.length];
65+
final var originalValues = valuesAccess.getValues();
66+
final var values = new Object[index.length];
6767
for ( int i = 0; i < values.length; i++ ) {
6868
final int index = this.index[i];
6969
if ( index >= 0 ) {

0 commit comments

Comments
 (0)