public final class SamplePage

  1. Object
  2. SamplePage

One page of samples, plus the token needed to fetch the next.

String token = null;
do {
    SamplePage page = store.readSamplePage(query.setPageToken(token)).get();
    process(page.getSamples());
    token = page.getNextPageToken();
} while (token != null);

Constructors

public SamplePage(List<HealthSample> samples, String nextPageToken, boolean truncated)Creates a page.

Methods

public List<HealthSample> getSamples()The samples in this page, never null.
public String getNextPageToken()The token that fetches the following page, or null when this is the last one.
public boolean isTruncated()true when the query’s limit cut the result short and more data matched than was returned.
public int size()How many samples this page holds.
public boolean isEmpty()true when this page holds no samples.
public String toString()Returns a string representation of the object.

Inherited methods

Constructor details

SamplePage

public SamplePage(List<HealthSample> samples, String nextPageToken, boolean truncated)
Creates a page. The sample list is copied defensively.

Method details

getSamples

public List<HealthSample> getSamples()
The samples in this page, never null.

getNextPageToken

public String getNextPageToken()
The token that fetches the following page, or null when this is the last one. Pass it to SampleQuery.setPageToken(String).

isTruncated

public boolean isTruncated()

true when the query’s limit cut the result short and more data matched than was returned.

Not a paging instruction. Page on getNextPageToken() and nothing else. Truncated with a null token is the store saying the rest is unreachable through this query – Health Connect resumes per record type, so a page merged from several types has no token that could return what the merge dropped. Looping on this flag instead re-issues the same first page forever. Narrow the range, raise the limit, or query one type at a time.

A page can also be the last one and still be truncated, which means the store stopped early rather than running out of data – worth surfacing rather than quietly showing a partial total.

size

public int size()
How many samples this page holds.

isEmpty

public boolean isEmpty()
true when this page holds no samples.

toString

public String toString()
Returns a string representation of the object. In general, the toString method returns a string that “textually represents” this object. The result should be a concise but informative representation that is easy for a person to read. It is recommended that all subclasses override this method. The toString method for class Object returns a string consisting of the name of the class of which the object is an instance, the at-sign character `@’, and the unsigned hexadecimal representation of the hash code of the object. In other words, this method returns a string equal to the value of: getClass().getName() + ‘@’ + Integer.toHexString(hashCode())