Class PageTracker<ProgressParamT extends java.lang.Number>

  • Type Parameters:
    ProgressParamT - The numeric type to use for page numbers (e.g., Integer, Long)
    All Implemented Interfaces:
    ProgressTrackerStrategy<ProgressParamT>

    public class PageTracker<ProgressParamT extends java.lang.Number>
    extends java.lang.Object
    implements ProgressTrackerStrategy<ProgressParamT>
    Handles pagination using total page count from responses. This tracker is suitable for APIs that return the total number of pages in each response and use that to determine when to stop pagination.
    • Constructor Summary

      Constructors 
      Constructor Description
      PageTracker​(java.lang.String numPagesExpression, java.lang.Class<ProgressParamT> pageType, long fromPage)
      Creates a new PageTracker with a specified starting page.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean advance​(com.jayway.jsonpath.ReadContext respJson)
      Process the response and update pagination state.
      ProgressParamT getPosition()
      Get the current progression value to use in the next request.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • PageTracker

        public PageTracker​(java.lang.String numPagesExpression,
                           java.lang.Class<ProgressParamT> pageType,
                           long fromPage)
        Creates a new PageTracker with a specified starting page.
        Parameters:
        numPagesExpression - The JsonPath expression to extract total pages
        pageType - The class of the numeric type to use (e.g., Integer.class, Long.class)
        fromPage - Page number to start pagination from (0-based or 1-based, depending on API)
    • Method Detail

      • advance

        public boolean advance​(com.jayway.jsonpath.ReadContext respJson)
        Description copied from interface: ProgressTrackerStrategy
        Process the response and update pagination state. This method should: 1. Extract pagination metadata from the response 2. Update internal state based on the metadata 3. Return true if there are more pages to fetch, false otherwise
        Specified by:
        advance in interface ProgressTrackerStrategy<ProgressParamT extends java.lang.Number>
        Parameters:
        respJson - The JSON response to process
        Returns:
        true if there are more pages to fetch, false otherwise