Class ResultList<T>

    • Constructor Detail

      • ResultList

        public ResultList()
      • ResultList

        public ResultList​(List<T> data)
      • ResultList

        public ResultList​(List<T> data,
                          String beforeCursor,
                          String afterCursor,
                          int total)
        Cursor functionality. User has request 'limit' number of entries. The data provided must have 'limit' + 1 number of entries.

        -------------------------------------------------------------------------------------------------------------- Consider forward scrolling: -------------------------------------------------------------------------------------------------------------- Query GET .../entities?limit=pagesize CASE 0: No before or after parameters in the query Returns: page1 beforeCursor = null, -> Indicates first page afterCursor = last record in page1

        Query GET .../entities?limit=pagesize&after={last record in page1} Returns: page2 beforeCursor = first record in page2 afterCursor = last record in page2

        Query GET .../entities?limit=pagesize&after={last record in page2} CASE 1: Page 3 has less than limit number of entries and hence partial page is returned Returns: partial page 3 beforeCursor = first record in page3 afterCursor = null -------- FORWARD SCROLLING ENDS -------------

        CASE 2: Page 3 has exactly page number of entries and not entries to follow after Returns: page3 beforeCursor = first record in page3 afterCursor = null -------- FORWARD SCROLLING ENDS -------------

        -------------------------------------------------------------------------------------------------------------- Consider backward scrolling from the previous state: --------------------------------------------------------------------------------------------------------------

        Query GET .../entities?limit=pagesize&before={last record in page2 + 1} Returns: page2 beforeCursor = first record in page2 afterCursor = last record in page2

        Query GET .../entities?limit=pagesize&before={first record page 2} CASE 3: Page 1 does not have limit number entries and hence partial page is returned Returns: page1 beforeCursor = null afterCursor = last record in page1 -------- BACKWARD SCROLLING ENDS -------------

        CASE 4: Page 1 has exactly page number of entries Returns: page1 beforeCursor = null afterCursor = Empty string to start at page1 -------- BACKWARD SCROLLING ENDS -------------