-
Notifications
You must be signed in to change notification settings - Fork 125
Home
##Design Philosophy
JRAW is designed with simplicity in mind; each class operates on a "need-to-know" basis. Therefore, only specific classes can execute a network request, facilitate the transfer of data, etc. The library is divided into four sections: networking, authentication, management, models, and pagination.
####Networking
Defined in net.dean.jraw.http
This package is primarily built off of HttpAdapter
and HttpClient
. HttpAdapter
forms a bridge between JRAW and another networking library, such as OkHttp. HttpClient
uses an HttpAdapter
to perform network requests. HttpClient
's direct child is RestClient
, which introduces request history and logging through SLF4J. Note that RestClient
is not reddit-specific, but rather a generic HTTP client. RestClient
's direct child is RedditClient
, which targets reddit's API specifically. It adds rate limiting and access to a few reddit endpoints.
Throughout the library, only classes that implement NetworkAccessible
can send HTTP requests.
####Authentication
Defined in net.dean.jraw.auth
and net.dean.jraw.http.oauth
.
####Management
Defined in net.dean.jraw.managers
####Models
Defined in net.dean.jraw.models
All models are instantiated with a Jackson JsonNode
parsed from responses from the reddit API.
####Pagination
Defined in net.dean.jraw.paginators
. Paginators have their own wiki page
##Getting Started See Quickstart