Skip to content

Commit 3e9ee3c

Browse files
gtoisonmbellade
authored andcommitted
HHH-18885 let queuedAdditionIterator() return Iterator<?>
For maps the iterator operates over a collection of Map.Entry
1 parent 096e4c2 commit 3e9ee3c

File tree

3 files changed

+8
-9
lines changed

3 files changed

+8
-9
lines changed

hibernate-core/src/main/java/org/hibernate/collection/spi/AbstractPersistentCollection.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -867,13 +867,13 @@ public final boolean hasQueuedOperations() {
867867
}
868868

869869
@Override
870-
public final Iterator<E> queuedAdditionIterator() {
870+
public final Iterator<?> queuedAdditionIterator() {
871871
if ( hasQueuedOperations() ) {
872872
return new Iterator<>() {
873873
private int index;
874874

875875
@Override
876-
public E next() {
876+
public Object next() {
877877
return operationQueue.get( index++ ).getAddedEntry();
878878
}
879879

@@ -1248,8 +1248,8 @@ protected interface DelayedOperation<E> {
12481248
void operate();
12491249

12501250
E getAddedInstance();
1251-
1252-
default E getAddedEntry() {
1251+
1252+
default Object getAddedEntry() {
12531253
return getAddedInstance();
12541254
}
12551255

hibernate-core/src/main/java/org/hibernate/collection/spi/PersistentCollection.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -399,7 +399,7 @@ default boolean needsUpdating(
399399
*
400400
* @return The iterator
401401
*/
402-
Iterator<E> queuedAdditionIterator();
402+
Iterator<?> queuedAdditionIterator();
403403

404404
/**
405405
* Get the "queued" orphans

hibernate-core/src/main/java/org/hibernate/collection/spi/PersistentMap.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -539,11 +539,10 @@ protected AbstractMapValueDelayedOperation(K index, E addedValue, E orphan) {
539539
protected final K getIndex() {
540540
return index;
541541
}
542-
542+
543543
@Override
544-
public E getAddedEntry() {
545-
// The (E) cast is very hacky because E is not Map.Entry but we need it to conform to PersistentCollection.queuedAdditionIterator()
546-
return (E) Map.entry( getIndex(), getAddedInstance() );
544+
public Object getAddedEntry() {
545+
return Map.entry( getIndex(), getAddedInstance() );
547546
}
548547
}
549548

0 commit comments

Comments
 (0)