Skip to content

Commit e8fa7e9

Browse files
committed
lots of very minor cleanups in the org.hibernate.type namespace
1 parent c080cbe commit e8fa7e9

File tree

66 files changed

+380
-452
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+380
-452
lines changed

hibernate-core/src/main/java/org/hibernate/type/AbstractType.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ public Object replace(
119119
private boolean needsReplacement(ForeignKeyDirection foreignKeyDirection) {
120120
// Collection and OneToOne are the only associations that could be TO_PARENT
121121
if ( this instanceof CollectionType || this instanceof OneToOneType ) {
122-
final AssociationType associationType = (AssociationType) this;
122+
final var associationType = (AssociationType) this;
123123
return associationType.getForeignKeyDirection() == foreignKeyDirection;
124124
}
125125
else {

hibernate-core/src/main/java/org/hibernate/type/AnyType.java

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
*/
55
package org.hibernate.type;
66

7-
import org.hibernate.EntityNameResolver;
87
import org.hibernate.FetchMode;
98
import org.hibernate.Hibernate;
109
import org.hibernate.HibernateException;
@@ -17,10 +16,8 @@
1716
import org.hibernate.engine.spi.CascadeStyles;
1817
import org.hibernate.engine.spi.SessionFactoryImplementor;
1918
import org.hibernate.engine.spi.SharedSessionContractImplementor;
20-
import org.hibernate.metamodel.spi.MappingMetamodelImplementor;
2119
import org.hibernate.persister.entity.EntityPersister;
2220
import org.hibernate.persister.entity.Joinable;
23-
import org.hibernate.proxy.LazyInitializer;
2421
import org.hibernate.type.spi.TypeConfiguration;
2522

2623
import java.io.Serializable;
@@ -166,7 +163,7 @@ else if ( y == null ) {
166163
}
167164

168165
private Object extractIdentifier(Object entity, SessionFactoryImplementor factory) {
169-
final EntityPersister concretePersister = guessEntityPersister( entity, factory );
166+
final var concretePersister = guessEntityPersister( entity, factory );
170167
return concretePersister == null
171168
? null
172169
: concretePersister.getIdentifier( entity );
@@ -181,7 +178,7 @@ private EntityPersister guessEntityPersister(Object object, SessionFactoryImplem
181178

182179
// this code is largely copied from Session's bestGuessEntityName
183180
Object entity = object;
184-
final LazyInitializer lazyInitializer = extractLazyInitializer( entity );
181+
final var lazyInitializer = extractLazyInitializer( entity );
185182
if ( lazyInitializer != null ) {
186183
if ( lazyInitializer.isUninitialized() ) {
187184
entityName = lazyInitializer.getEntityName();
@@ -190,13 +187,7 @@ private EntityPersister guessEntityPersister(Object object, SessionFactoryImplem
190187
}
191188

192189
if ( entityName == null ) {
193-
final MappingMetamodelImplementor mappingMetamodel = factory.getMappingMetamodel();
194-
for ( EntityNameResolver resolver : mappingMetamodel.getEntityNameResolvers() ) {
195-
entityName = resolver.resolveEntityName( entity );
196-
if ( entityName != null ) {
197-
break;
198-
}
199-
}
190+
entityName = entityNameFromResolvers( factory, entity );
200191
}
201192

202193
if ( entityName == null ) {
@@ -207,6 +198,16 @@ private EntityPersister guessEntityPersister(Object object, SessionFactoryImplem
207198
return factory.getMappingMetamodel().getEntityDescriptor( entityName );
208199
}
209200

201+
private static String entityNameFromResolvers(SessionFactoryImplementor factory, Object entity) {
202+
for ( var resolver : factory.getMappingMetamodel().getEntityNameResolvers() ) {
203+
final String entityName = resolver.resolveEntityName( entity );
204+
if ( entityName != null ) {
205+
return entityName;
206+
}
207+
}
208+
return null;
209+
}
210+
210211
@Override
211212
public boolean isSame(Object x, Object y) throws HibernateException {
212213
return x == y;
@@ -221,12 +222,13 @@ public boolean isModified(Object old, Object current, boolean[] checkable, Share
221222
else if ( old == null ) {
222223
return true;
223224
}
224-
225-
final ObjectTypeCacheEntry holder = (ObjectTypeCacheEntry) old;
226-
final boolean[] idCheckable = new boolean[checkable.length-1];
227-
System.arraycopy( checkable, 1, idCheckable, 0, idCheckable.length );
228-
return checkable[0] && !holder.entityName.equals( session.bestGuessEntityName( current ) )
225+
else {
226+
final var holder = (ObjectTypeCacheEntry) old;
227+
final boolean[] idCheckable = new boolean[checkable.length - 1];
228+
System.arraycopy( checkable, 1, idCheckable, 0, idCheckable.length );
229+
return checkable[0] && !holder.entityName.equals( session.bestGuessEntityName( current ) )
229230
|| identifierType.isModified( holder.id, getIdentifier( current, session ), idCheckable, session );
231+
}
230232
}
231233

232234
@Override
@@ -295,9 +297,10 @@ public String toLoggableString(Object value, SessionFactoryImplementor factory)
295297
}
296298

297299
final String entityName = factory.bestGuessEntityName(value);
298-
final EntityPersister descriptor = entityName == null
299-
? null
300-
: factory.getMappingMetamodel().getEntityDescriptor( entityName );
300+
final var descriptor =
301+
entityName == null
302+
? null
303+
: factory.getMappingMetamodel().getEntityDescriptor( entityName );
301304
return infoString( descriptor, value, factory );
302305
}
303306

hibernate-core/src/main/java/org/hibernate/type/BasicArrayType.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,9 @@ public <X> BasicType<X> resolveIndicatedType(JdbcTypeIndicators indicators, Java
6666
}
6767

6868
@Override
69-
public boolean equals(Object o) {
70-
return o == this || o.getClass() == BasicArrayType.class
71-
&& Objects.equals( baseDescriptor, ( (BasicArrayType<?, ?>) o ).baseDescriptor );
69+
public boolean equals(Object object) {
70+
return object == this || object.getClass() == BasicArrayType.class
71+
&& Objects.equals( baseDescriptor, ( (BasicArrayType<?, ?>) object ).baseDescriptor );
7272
}
7373

7474
@Override

hibernate-core/src/main/java/org/hibernate/type/BasicCollectionType.java

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -47,20 +47,14 @@ public BasicCollectionType(
4747

4848
private static String determineName(BasicCollectionJavaType<?, ?> collectionTypeDescriptor, BasicType<?> baseDescriptor) {
4949
final String elementTypeName = determineElementTypeName( baseDescriptor );
50-
switch ( collectionTypeDescriptor.getSemantics().getCollectionClassification() ) {
51-
case BAG:
52-
case ID_BAG:
53-
return "Collection<" + elementTypeName + ">";
54-
case LIST:
55-
return "List<" + elementTypeName + ">";
56-
case SET:
57-
return "Set<" + elementTypeName + ">";
58-
case SORTED_SET:
59-
return "SortedSet<" + elementTypeName + ">";
60-
case ORDERED_SET:
61-
return "OrderedSet<" + elementTypeName + ">";
62-
}
63-
return null;
50+
return switch ( collectionTypeDescriptor.getSemantics().getCollectionClassification() ) {
51+
case BAG, ID_BAG -> "Collection<" + elementTypeName + ">";
52+
case LIST -> "List<" + elementTypeName + ">";
53+
case SET -> "Set<" + elementTypeName + ">";
54+
case SORTED_SET -> "SortedSet<" + elementTypeName + ">";
55+
case ORDERED_SET -> "OrderedSet<" + elementTypeName + ">";
56+
default -> null;
57+
};
6458
}
6559

6660
@Override
@@ -87,9 +81,9 @@ public <X> BasicType<X> resolveIndicatedType(JdbcTypeIndicators indicators, Java
8781
}
8882

8983
@Override
90-
public boolean equals(Object o) {
91-
return o == this || o.getClass() == BasicCollectionType.class
92-
&& Objects.equals( baseDescriptor, ( (BasicCollectionType<?, ?>) o ).baseDescriptor );
84+
public boolean equals(Object object) {
85+
return object == this || object.getClass() == BasicCollectionType.class
86+
&& Objects.equals( baseDescriptor, ( (BasicCollectionType<?, ?>) object ).baseDescriptor );
9387
}
9488

9589
@Override

hibernate-core/src/main/java/org/hibernate/type/CollectionType.java

Lines changed: 29 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -24,22 +24,15 @@
2424
import org.hibernate.collection.spi.AbstractPersistentCollection;
2525
import org.hibernate.collection.spi.PersistentArrayHolder;
2626
import org.hibernate.collection.spi.PersistentCollection;
27-
import org.hibernate.engine.spi.CollectionEntry;
2827
import org.hibernate.engine.spi.CollectionKey;
29-
import org.hibernate.engine.spi.EntityEntry;
30-
import org.hibernate.engine.spi.PersistenceContext;
3128
import org.hibernate.engine.spi.SessionFactoryImplementor;
3229
import org.hibernate.engine.spi.SharedSessionContractImplementor;
3330
import org.hibernate.internal.CoreLogging;
3431
import org.hibernate.internal.CoreMessageLogger;
3532
import org.hibernate.internal.util.MarkerObject;
3633
import org.hibernate.metamodel.CollectionClassification;
37-
import org.hibernate.metamodel.mapping.PluralAttributeMapping;
3834
import org.hibernate.persister.collection.CollectionPersister;
39-
import org.hibernate.persister.entity.EntityPersister;
4035
import org.hibernate.persister.entity.Joinable;
41-
import org.hibernate.proxy.LazyInitializer;
42-
import org.hibernate.sql.results.graph.collection.LoadingCollectionEntry;
4336

4437

4538
import org.checkerframework.checker.nullness.qual.Nullable;
@@ -88,11 +81,11 @@ public Object indexOf(Object collection, Object element) {
8881
public boolean contains(Object collection, Object childObject, SharedSessionContractImplementor session) {
8982
// we do not have to worry about queued additions to uninitialized
9083
// collections, since they can only occur for inverse collections!
91-
final Iterator<?> elems = getElementsIterator( collection );
84+
final var elems = getElementsIterator( collection );
9285
while ( elems.hasNext() ) {
9386
final Object maybeProxy = elems.next();
9487
// worrying about proxies is perhaps a little bit of overkill here...
95-
final LazyInitializer initializer = extractLazyInitializer( maybeProxy );
88+
final var initializer = extractLazyInitializer( maybeProxy );
9689
final Object element =
9790
initializer != null && !initializer.isUninitialized()
9891
? initializer.getImplementation()
@@ -176,7 +169,7 @@ public String toLoggableString(Object value, SessionFactoryImplementor factory)
176169
else {
177170
if ( !getReturnedClass().isInstance( value )
178171
&& !(value instanceof PersistentCollection) ) {
179-
final CollectionPersister persister = getPersister( factory );
172+
final var persister = getPersister( factory );
180173
final Type keyType = persister.getKeyType();
181174
final Type identifierType = persister.getIdentifierType();
182175
// its most likely the collection-key
@@ -375,7 +368,7 @@ public ForeignKeyDirection getForeignKeyDirection() {
375368
* @return The collection owner's key
376369
*/
377370
public @Nullable Object getKeyOfOwner(Object owner, SharedSessionContractImplementor session) {
378-
final EntityEntry entityEntry = session.getPersistenceContextInternal().getEntry( owner );
371+
final var entityEntry = session.getPersistenceContextInternal().getEntry( owner );
379372
if ( entityEntry == null ) {
380373
// This just handles a particular case of component
381374
// projection, perhaps get rid of it and throw an exception
@@ -406,9 +399,9 @@ public Object getIdOfOwnerOrNull(Object key, SharedSessionContractImplementor se
406399
return key;
407400
}
408401
else {
409-
final EntityPersister ownerPersister = getPersister( session ).getOwnerEntityPersister();
402+
final var ownerPersister = getPersister( session ).getOwnerEntityPersister();
410403
// TODO: Fix this so it will work for non-POJO entity mode
411-
final Class<?> keyClass = keyClass( session );
404+
final var keyClass = keyClass( session );
412405
if ( ownerPersister.getMappedClass().isAssignableFrom( keyClass )
413406
&& keyClass.isInstance( key ) ) {
414407
// the key is the owning entity itself, so get the ID from the key
@@ -460,7 +453,7 @@ public boolean isModified(Object old, Object current, boolean[] checkable, Share
460453
@Override
461454
public String getAssociatedEntityName(SessionFactoryImplementor factory)
462455
throws MappingException {
463-
final CollectionPersister persister = factory.getMappingMetamodel().getCollectionDescriptor( role );
456+
final var persister = factory.getMappingMetamodel().getCollectionDescriptor( role );
464457
if ( persister.getElementType().isEntityType() ) {
465458
return persister.getElementPersister().getEntityName();
466459
}
@@ -486,12 +479,12 @@ public Object replaceElements(
486479
Object owner,
487480
Map<Object, Object> copyCache,
488481
SharedSessionContractImplementor session) {
489-
final Collection result = (Collection) target;
482+
final var result = (Collection) target;
490483
result.clear();
491484

492485
// copy elements into newly empty target collection
493486
final Type elemType = getElementType( session.getFactory() );
494-
for ( Object element : (Collection) original ) {
487+
for ( Object element : (Collection<?>) original ) {
495488
result.add( elemType.replace( element, null, session, owner, copyCache ) );
496489
}
497490

@@ -521,9 +514,9 @@ private void preserveSnapshot(
521514
Object owner,
522515
Map<Object, Object> copyCache,
523516
SharedSessionContractImplementor session) {
524-
final CollectionEntry ce = session.getPersistenceContextInternal().getCollectionEntry( result );
525-
if ( ce != null ) {
526-
ce.resetStoredSnapshot( result,
517+
final var collectionEntry = session.getPersistenceContextInternal().getCollectionEntry( result );
518+
if ( collectionEntry != null ) {
519+
collectionEntry.resetStoredSnapshot( result,
527520
createSnapshot( original, result, elemType, owner, copyCache, session ) );
528521
}
529522
}
@@ -582,8 +575,8 @@ private static <K,V> Serializable createMapSnapshot(
582575
targetMap = hashMap;
583576
snapshot = hashMap;
584577
}
585-
final Map<?, ?> resultSnapshot = (Map<?,?>) result.getStoredSnapshot();
586-
for ( Map.Entry<K,V> entry : map.entrySet() ) {
578+
final var resultSnapshot = (Map<?,?>) result.getStoredSnapshot();
579+
for ( var entry : map.entrySet() ) {
587580
final K key = entry.getKey();
588581
final V value = entry.getValue();
589582
final Object resultSnapshotValue = resultSnapshot == null ? null : resultSnapshot.get( key );
@@ -667,13 +660,13 @@ private Object replaceOriginal(
667660
target instanceof PersistentCollection<?> collection
668661
&& !collection.isDirty();
669662
if ( target instanceof PersistentCollection<?> oldCollection
670-
&& oldCollection.isDirectlyAccessible() ) {
663+
&& oldCollection.isDirectlyAccessible() ) {
671664
// When a replacement or merge is requested and the underlying collection is directly accessible,
672665
// use a new persistent collection, to avoid potential issues like the underlying collection being
673666
// unmodifiable and hence failing the element replacement
674-
final CollectionPersister collectionPersister = getPersister( session );
667+
final var collectionPersister = getPersister( session );
675668
final Object key = oldCollection.getKey();
676-
final PersistentCollection<?> newCollection = instantiate( session, collectionPersister, key );
669+
final var newCollection = instantiate( session, collectionPersister, key );
677670
newCollection.initializeEmptyCollection( collectionPersister );
678671
newCollection.setSnapshot( key, oldCollection.getRole(), oldCollection.getStoredSnapshot() );
679672
session.getPersistenceContextInternal()
@@ -709,14 +702,14 @@ private Object replaceUninitializedOriginal(
709702
Object target,
710703
SharedSessionContractImplementor session,
711704
Map<Object, Object> copyCache) {
712-
final PersistentCollection<?> collection = (PersistentCollection<?>) original;
705+
final var collection = (PersistentCollection<?>) original;
713706
if ( collection.hasQueuedOperations() ) {
714707
if ( original == target ) {
715708
// A managed entity with an uninitialized collection is being merged,
716709
// We need to replace any detached entities in the queued operations
717710
// with managed copies.
718-
final AbstractPersistentCollection<?> pc = (AbstractPersistentCollection<?>) original;
719-
pc.replaceQueuedOperationValues( getPersister( session ), copyCache );
711+
final var apc = (AbstractPersistentCollection<?>) original;
712+
apc.replaceQueuedOperationValues( getPersister( session ), copyCache );
720713
}
721714
else {
722715
// original is a detached copy of the collection;
@@ -740,13 +733,13 @@ else if ( target instanceof Map<?,?> map ) {
740733
return map;
741734
}
742735
else {
743-
final PersistenceContext persistenceContext = session.getPersistenceContext();
744-
final PersistentCollection<?> collectionHolder = persistenceContext.getCollectionHolder( target );
736+
final var persistenceContext = session.getPersistenceContext();
737+
final var collectionHolder = persistenceContext.getCollectionHolder( target );
745738
if ( collectionHolder != null ) {
746739
if ( collectionHolder instanceof PersistentArrayHolder<?> arrayHolder ) {
747740
persistenceContext.removeCollectionHolder( target );
748741
arrayHolder.beginRead();
749-
final PluralAttributeMapping attributeMapping =
742+
final var attributeMapping =
750743
persistenceContext.getCollectionEntry( collectionHolder )
751744
.getLoadedPersister().getAttributeMapping();
752745
arrayHolder.injectLoadedState( attributeMapping, null );
@@ -785,11 +778,11 @@ public String toString() {
785778
* @return The collection
786779
*/
787780
public Object getCollection(Object key, SharedSessionContractImplementor session, Object owner, Boolean overridingEager) {
788-
final CollectionPersister persister = getPersister( session );
789-
final PersistenceContext persistenceContext = session.getPersistenceContextInternal();
790-
final CollectionKey collectionKey = new CollectionKey( persister, key );
781+
final var persister = getPersister( session );
782+
final var persistenceContext = session.getPersistenceContextInternal();
783+
final var collectionKey = new CollectionKey( persister, key );
791784
// check if collection is currently being loaded
792-
final LoadingCollectionEntry loadingCollectionEntry =
785+
final var loadingCollectionEntry =
793786
persistenceContext.getLoadContexts().findLoadingCollectionEntry( collectionKey );
794787
PersistentCollection<?> collection =
795788
loadingCollectionEntry == null ? null
@@ -816,8 +809,8 @@ private PersistentCollection<?> createNewWrapper(
816809
Boolean overridingEager,
817810
CollectionPersister persister,
818811
SharedSessionContractImplementor session) {
819-
final PersistenceContext persistenceContext = session.getPersistenceContextInternal();
820-
final PersistentCollection<?> collection = instantiate( session, persister, key );
812+
final var persistenceContext = session.getPersistenceContextInternal();
813+
final var collection = instantiate( session, persister, key );
821814
collection.setOwner( owner );
822815
persistenceContext.addUninitializedCollection( persister, collection, key );
823816
// some collections are not lazy:

hibernate-core/src/main/java/org/hibernate/type/ConvertedBasicCollectionType.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,10 +66,10 @@ public JdbcLiteralFormatter<C> getJdbcLiteralFormatter() {
6666
}
6767

6868
@Override
69-
public boolean equals(Object o) {
70-
return o == this || super.equals( o )
71-
&& o instanceof ConvertedBasicCollectionType<?, ?> that
72-
&& Objects.equals( converter, that.converter );
69+
public boolean equals(Object object) {
70+
return object == this || super.equals( object )
71+
&& object instanceof ConvertedBasicCollectionType<?, ?> that
72+
&& Objects.equals( converter, that.converter );
7373
}
7474

7575
@Override

hibernate-core/src/main/java/org/hibernate/type/CustomCollectionType.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,9 @@ public Object replaceElements(
8484
Object owner,
8585
Map<Object,Object> copyCache,
8686
SharedSessionContractImplementor session) {
87-
final CollectionPersister collectionDescriptor =
88-
session.getFactory().getMappingMetamodel().getCollectionDescriptor( getRole() );
87+
final var collectionDescriptor =
88+
session.getFactory().getMappingMetamodel()
89+
.getCollectionDescriptor( getRole() );
8990
return userType.replaceElements( original, target, collectionDescriptor, owner, copyCache, session );
9091
}
9192

0 commit comments

Comments
 (0)