lib / com.kirkbushman.araw.fetcher / Fetcher

Fetcher

abstract class Fetcher<T, E>

The base class for fetching pages of items in a listing return.

Parameters

limit - the number of items to return per page. The default is 25, and you can change this to a number from 0 to 100.

Constructors

<init>

The base class for fetching pages of items in a listing return.

Fetcher(limit: Long = DEFAULT_LIMIT)

Functions

fetchNext

Fetch the next page of content.

fun fetchNext(): List<T>

fetchPrevious

Fetch the previous page of content.

fun fetchPrevious(): List<T>?

getCount

Returns the number of items fetched till now. Equal to number-per-page by the number-of-pages.

fun getCount(): Int

getLimit

Returns the number-of-items-per-page. Is a number from 1 to 100.

fun getLimit(): Long

getNextToken

open fun getNextToken(): String?

getPageNum

Returns the current page number.

fun getPageNum(): Int?

getPreviousToken

open fun getPreviousToken(): String?

hasNext

open fun hasNext(): Boolean

hasPrevious

open fun hasPrevious(): Boolean

hasStarted

fun hasStarted(): Boolean

onFetching

abstract fun onFetching(forward: Boolean = true, dirToken: String?): Listing<E>?

onMapResult

abstract fun onMapResult(pagedData: Listing<E>?): List<T>

reset

Reset the settings and start back from the first page of content.

fun reset(): Unit

setLimit

Change the number of items per page, this will reset the fetcher.

fun setLimit(newLimit: Long): Unit

Companion Object Properties

DEFAULT_LIMIT

const val DEFAULT_LIMIT: Long

MAX_LIMIT

const val MAX_LIMIT: Long

MIN_LIMIT

const val MIN_LIMIT: Long

Inheritors

CommentsFetcher

class CommentsFetcher : Fetcher<CommentData, EnvelopedCommentData>

ContributionsFetcher

class ContributionsFetcher : Fetcher<Contribution, EnvelopedContribution>

InboxFetcher

class InboxFetcher : Fetcher<Message, EnvelopedMessage>

MultiSubmissionsFetcher

class MultiSubmissionsFetcher : Fetcher<Submission, EnvelopedSubmission>

RedditorSearchFetcher

class RedditorSearchFetcher : Fetcher<Redditor, EnvelopedRedditor>

SubmissionsFetcher

class SubmissionsFetcher : Fetcher<Submission, EnvelopedSubmission>

SubmissionsSearchFetcher

class SubmissionsSearchFetcher : Fetcher<Submission, EnvelopedSubmission>

SubredditsFetcher

class SubredditsFetcher : Fetcher<SubredditData, EnvelopedSubredditData>

SubredditsSearchFetcher

class SubredditsSearchFetcher : Fetcher<SubredditData, EnvelopedSubredditData>