# Class SamplePage

java.lang.Object
com.codename1.health.SamplePage

public final class SamplePage extends Object

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);

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SamplePage(List<HealthSample> samples, String nextPageToken, boolean truncated)`
  Creates a page.

- ## Method Summary

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

  ### Methods inherited from class Object

  `clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## 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()
    Description copied from class: `Object`
    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())
    Overrides:
      `toString` in class `Object`