File tree Expand file tree Collapse file tree 4 files changed +14
-12
lines changed
hibernate-core/src/main/java/org/hibernate Expand file tree Collapse file tree 4 files changed +14
-12
lines changed Original file line number Diff line number Diff line change @@ -33,6 +33,11 @@ public interface ScrollableResults<R> extends AutoCloseable {
33
33
*/
34
34
void close ();
35
35
36
+ /**
37
+ * @return {@code true} if {@link #close()} was already called
38
+ */
39
+ boolean isClosed ();
40
+
36
41
/**
37
42
* Advance to the next result.
38
43
*
Original file line number Diff line number Diff line change 5
5
package org .hibernate .query .internal ;
6
6
7
7
import org .hibernate .Incubating ;
8
+ import org .hibernate .ScrollableResults ;
8
9
import org .hibernate .query .spi .CloseableIterator ;
9
- import org .hibernate .query .spi .ScrollableResultsImplementor ;
10
10
11
11
/**
12
12
* @author Steve Ebersole
15
15
*/
16
16
@ Incubating
17
17
public class ScrollableResultsIterator <T > implements CloseableIterator <T > {
18
- private final ScrollableResultsImplementor <T > scrollableResults ;
18
+ private final ScrollableResults <T > scrollableResults ;
19
19
20
- public ScrollableResultsIterator (ScrollableResultsImplementor <T > scrollableResults ) {
20
+ public ScrollableResultsIterator (ScrollableResults <T > scrollableResults ) {
21
21
this .scrollableResults = scrollableResults ;
22
22
}
23
23
Original file line number Diff line number Diff line change 18
18
19
19
import org .hibernate .CacheMode ;
20
20
import org .hibernate .FlushMode ;
21
+ import org .hibernate .ScrollableResults ;
21
22
import org .hibernate .query .QueryFlushMode ;
22
23
import org .hibernate .HibernateException ;
23
24
import org .hibernate .LockMode ;
@@ -251,15 +252,12 @@ public Stream<R> getResultStream() {
251
252
return stream ();
252
253
}
253
254
254
- @ SuppressWarnings ( {"unchecked" , "rawtypes" } )
255
255
@ Override
256
- public Stream stream () {
257
- final ScrollableResultsImplementor scrollableResults = scroll ( ScrollMode .FORWARD_ONLY );
258
- final ScrollableResultsIterator iterator = new ScrollableResultsIterator <>( scrollableResults );
259
- final Spliterator spliterator = spliteratorUnknownSize ( iterator , Spliterator .NONNULL );
260
-
261
- final Stream stream = StreamSupport .stream ( spliterator , false );
262
- return (Stream ) stream .onClose ( scrollableResults ::close );
256
+ public Stream <R > stream () {
257
+ final ScrollableResults <R > results = scroll ( ScrollMode .FORWARD_ONLY );
258
+ final Spliterator <R > spliterator =
259
+ spliteratorUnknownSize ( new ScrollableResultsIterator <>( results ), Spliterator .NONNULL );
260
+ return StreamSupport .stream ( spliterator , false ).onClose ( results ::close );
263
261
}
264
262
265
263
@ Override
Original file line number Diff line number Diff line change 14
14
*/
15
15
@ Incubating
16
16
public interface ScrollableResultsImplementor <R > extends ScrollableResults <R > {
17
- boolean isClosed ();
18
17
}
You can’t perform that action at this time.
0 commit comments