Skip to content

Commit 9e7511a

Browse files
committed
refactor: rename AsyncResultSet -> AsyncPage for cleaner API
1 parent 6890919 commit 9e7511a

4 files changed

Lines changed: 20 additions & 78 deletions

File tree

src/main/java/io/weaviate/client6/v1/api/collections/pagination/AsyncPaginator.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,15 @@ public class AsyncPaginator<PropertiesT> {
2020
private final int pageSize;
2121
private final String cursor;
2222

23-
private CompletableFuture<AsyncResultSet<PropertiesT>> resultSet;
23+
private CompletableFuture<AsyncPage<PropertiesT>> resultSet;
2424

2525
public AsyncPaginator(Builder<PropertiesT> builder) {
2626
this.query = builder.query;
2727
this.queryOptions = builder.queryOptions;
2828
this.pageSize = builder.pageSize;
2929
this.cursor = builder.cursor;
3030

31-
var rs = new AsyncResultSet<PropertiesT>(
31+
var rs = new AsyncPage<PropertiesT>(
3232
cursor,
3333
pageSize,
3434
(after, limit) -> {
@@ -51,18 +51,18 @@ public CompletableFuture<Void> forPage(Consumer<List<WeaviateObject<PropertiesT,
5151
.thenCompose(processPageAndAdvance(action));
5252
}
5353

54-
public Function<AsyncResultSet<PropertiesT>, CompletableFuture<Void>> processEachAndAdvance(
54+
public Function<AsyncPage<PropertiesT>, CompletableFuture<Void>> processEachAndAdvance(
5555
Consumer<WeaviateObject<PropertiesT, Object, QueryMetadata>> action) {
5656
return processAndAdvanceFunc(rs -> rs.forEach(action));
5757
}
5858

59-
public Function<AsyncResultSet<PropertiesT>, CompletableFuture<Void>> processPageAndAdvance(
59+
public Function<AsyncPage<PropertiesT>, CompletableFuture<Void>> processPageAndAdvance(
6060
Consumer<List<WeaviateObject<PropertiesT, Object, QueryMetadata>>> action) {
61-
return processAndAdvanceFunc(rs -> action.accept(rs.currentPage()));
61+
return processAndAdvanceFunc(rs -> action.accept(rs.items()));
6262
}
6363

64-
public Function<AsyncResultSet<PropertiesT>, CompletableFuture<Void>> processAndAdvanceFunc(
65-
Consumer<AsyncResultSet<PropertiesT>> action) {
64+
public Function<AsyncPage<PropertiesT>, CompletableFuture<Void>> processAndAdvanceFunc(
65+
Consumer<AsyncPage<PropertiesT>> action) {
6666
return rs -> {
6767
// Empty result set means there were no more objects to fetch.
6868
if (rs.isEmpty()) {

src/main/java/io/weaviate/client6/v1/api/collections/pagination/AsyncResultSet.java

Lines changed: 0 additions & 58 deletions
This file was deleted.

src/main/java/io/weaviate/client6/v1/api/collections/pagination/CursorSpliterator.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,24 +10,24 @@
1010
import io.weaviate.client6.v1.api.collections.WeaviateObject;
1111
import io.weaviate.client6.v1.api.collections.query.QueryMetadata;
1212

13-
public class CursorSpliterator<T> implements Spliterator<WeaviateObject<T, Object, QueryMetadata>> {
13+
public class CursorSpliterator<PropertiesT> implements Spliterator<WeaviateObject<PropertiesT, Object, QueryMetadata>> {
1414
private final int pageSize;
15-
private final BiFunction<String, Integer, List<WeaviateObject<T, Object, QueryMetadata>>> fetch;
15+
private final BiFunction<String, Integer, List<WeaviateObject<PropertiesT, Object, QueryMetadata>>> fetch;
1616

1717
// Spliterators do not promise thread-safety, so there's no mechanism
1818
// to protect access to its internal state.
1919
private String cursor;
20-
private Iterator<WeaviateObject<T, Object, QueryMetadata>> currentPage = Collections.emptyIterator();
20+
private Iterator<WeaviateObject<PropertiesT, Object, QueryMetadata>> currentPage = Collections.emptyIterator();
2121

2222
public CursorSpliterator(String cursor, int pageSize,
23-
BiFunction<String, Integer, List<WeaviateObject<T, Object, QueryMetadata>>> fetch) {
23+
BiFunction<String, Integer, List<WeaviateObject<PropertiesT, Object, QueryMetadata>>> fetch) {
2424
this.cursor = cursor;
2525
this.pageSize = pageSize;
2626
this.fetch = fetch;
2727
}
2828

2929
@Override
30-
public boolean tryAdvance(Consumer<? super WeaviateObject<T, Object, QueryMetadata>> action) {
30+
public boolean tryAdvance(Consumer<? super WeaviateObject<PropertiesT, Object, QueryMetadata>> action) {
3131
// Happy path: there are remaining objects in the current page.
3232
if (currentPage.hasNext()) {
3333
action.accept(currentPage.next());
@@ -45,7 +45,7 @@ public boolean tryAdvance(Consumer<? super WeaviateObject<T, Object, QueryMetada
4545
}
4646

4747
@Override
48-
public Spliterator<WeaviateObject<T, Object, QueryMetadata>> trySplit() {
48+
public Spliterator<WeaviateObject<PropertiesT, Object, QueryMetadata>> trySplit() {
4949
// Do not support splitting just now;
5050
return null;
5151
}

src/main/java/io/weaviate/client6/v1/api/collections/pagination/Paginator.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,25 +16,25 @@
1616
import io.weaviate.client6.v1.api.collections.query.WeaviateQueryClient;
1717
import io.weaviate.client6.v1.internal.ObjectBuilder;
1818

19-
public class Paginator<T> implements Iterable<WeaviateObject<T, Object, QueryMetadata>> {
19+
public class Paginator<PropertiesT> implements Iterable<WeaviateObject<PropertiesT, Object, QueryMetadata>> {
2020
static final int DEFAULT_PAGE_SIZE = 100;
2121

22-
private final WeaviateQueryClient<T> query;
22+
private final WeaviateQueryClient<PropertiesT> query;
2323
private final Function<FetchObjects.Builder, ObjectBuilder<FetchObjects>> queryOptions;
2424
private final int pageSize;
2525
private final String cursor;
2626

2727
@Override
28-
public Iterator<WeaviateObject<T, Object, QueryMetadata>> iterator() {
28+
public Iterator<WeaviateObject<PropertiesT, Object, QueryMetadata>> iterator() {
2929
return Spliterators.iterator(spliterator());
3030
}
3131

32-
public Stream<WeaviateObject<T, Object, QueryMetadata>> stream() {
32+
public Stream<WeaviateObject<PropertiesT, Object, QueryMetadata>> stream() {
3333
return StreamSupport.stream(spliterator(), false);
3434
}
3535

36-
public Spliterator<WeaviateObject<T, Object, QueryMetadata>> spliterator() {
37-
return new CursorSpliterator<T>(cursor, pageSize,
36+
public Spliterator<WeaviateObject<PropertiesT, Object, QueryMetadata>> spliterator() {
37+
return new CursorSpliterator<PropertiesT>(cursor, pageSize,
3838
(after, limit) -> {
3939
var fn = ObjectBuilder.partial(queryOptions, q -> q.after(after).limit(limit));
4040
return query.fetchObjects(fn).objects();
@@ -50,7 +50,7 @@ public static <T> Paginator<T> of(WeaviateQueryClient<T> query,
5050
return fn.apply(new Builder<>(query)).build();
5151
}
5252

53-
Paginator(Builder<T> builder) {
53+
Paginator(Builder<PropertiesT> builder) {
5454
this.query = builder.query;
5555
this.queryOptions = builder.queryOptions;
5656
this.cursor = builder.cursor;

0 commit comments

Comments
 (0)