Package io.ably.lib.http
Class BasePaginatedQuery<T>
java.lang.Object
io.ably.lib.http.BasePaginatedQuery<T>
- Type Parameters:
T-
- All Implemented Interfaces:
HttpCore.ResponseHandler<BasePaginatedResult<T>>
public class BasePaginatedQuery<T> extends java.lang.Object implements HttpCore.ResponseHandler<BasePaginatedResult<T>>
A paginated query base implementation that can be used sync or asynchronously.
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classBasePaginatedQuery.ResultRequest<T>Wraps a Http.Request> to fixate on either a sync or an async interface. -
Field Summary
Fields Modifier and Type Field Description protected static java.util.regex.PatternlinkPatterninternalprotected static java.util.regex.PatternurlPattern -
Constructor Summary
Constructors Constructor Description BasePaginatedQuery(Http http, java.lang.String path, Param[] headers, Param[] params, HttpCore.BodyHandler<T> bodyHandler)Construct a PaginatedQueryBasePaginatedQuery(Http http, java.lang.String path, Param[] headers, Param[] params, HttpCore.RequestBody requestBody, HttpCore.BodyHandler<T> bodyHandler)Construct a PaginatedQuery -
Method Summary
Modifier and Type Method Description Http.Request<BasePaginatedResult<T>>exec(java.lang.String method)Get the result of the first queryBasePaginatedQuery.ResultRequest<T>get()Get the result of the first queryBasePaginatedResult<T>handleResponse(HttpCore.Response response, ErrorInfo error)protected static java.util.HashMap<java.lang.String,java.lang.String>parseLinks(java.util.Collection<java.lang.String> linkHeaders)
-
Field Details
-
linkPattern
protected static java.util.regex.Pattern linkPatterninternal -
urlPattern
protected static java.util.regex.Pattern urlPattern
-
-
Constructor Details
-
BasePaginatedQuery
public BasePaginatedQuery(Http http, java.lang.String path, Param[] headers, Param[] params, HttpCore.BodyHandler<T> bodyHandler)Construct a PaginatedQuery- Parameters:
http- the http instancepath- the path of the resource being queriedheaders- headers to pass into the first and all relative queriesparams- params to pass into the initial querybodyHandler- handler to parse response bodies for first and all relative queries
-
BasePaginatedQuery
public BasePaginatedQuery(Http http, java.lang.String path, Param[] headers, Param[] params, HttpCore.RequestBody requestBody, HttpCore.BodyHandler<T> bodyHandler)Construct a PaginatedQuery- Parameters:
http- the http instancepath- the path of the resource being queriedheaders- headers to pass into the first and all relative queriesparams- params to pass into the initial querybodyHandler- handler to parse response bodies for first and all relative queries
-
-
Method Details
-
get
Get the result of the first query- Returns:
- A ResultRequest
giving the first page of results together with any available links to related results pages.
-
exec
Get the result of the first query- Returns:
- A Http.Request
> giving the first page of results together with any available links to related results pages.
-
handleResponse
public BasePaginatedResult<T> handleResponse(HttpCore.Response response, ErrorInfo error) throws AblyException- Specified by:
handleResponsein interfaceHttpCore.ResponseHandler<T>- Throws:
AblyException
-
parseLinks
protected static java.util.HashMap<java.lang.String,java.lang.String> parseLinks(java.util.Collection<java.lang.String> linkHeaders)
-