IndexerEndpointImpl

open class IndexerEndpointImpl<TElementEndpoint : Endpoint>(referrer: Endpoint, relativeUri: URI, elementEndpointFactory: (referrer: Endpoint, relativeUri: URI) -> TElementEndpoint) : AbstractEndpoint, IndexerEndpoint<TElementEndpoint>

Endpoint that addresses child TElementEndpoints by ID.

Parameters

referrer

The endpoint used to navigate to this one.

relativeUri

The URI of this endpoint relative to the referrer's. Add a ./ prefix here to imply a trailing slash on referrer's URI.

elementEndpointFactory

The factory for constructing TElementEndpoints to provide for individual elements.

TElementEndpoint

The type of Endpoint to provide for individual elements.

Constructors

Link copied to clipboard
constructor(referrer: Endpoint, relativeUri: URI, elementEndpointFactory: (referrer: Endpoint, relativeUri: URI) -> TElementEndpoint)
constructor(referrer: Endpoint, relativeUri: String, elementEndpointFactory: (referrer: Endpoint, relativeUri: URI) -> TElementEndpoint)

Creates a new indexer endpoint.

Properties

Link copied to clipboard
open override val errorHandler: ErrorHandler
Link copied to clipboard
open override val httpClient: OkHttpClient
Link copied to clipboard
open override val linkExtractor: LinkExtractor
Link copied to clipboard
open override val serializers: List<Serializer>
Link copied to clipboard
open override val uri: URI

Functions

Link copied to clipboard
fun <T> deserialize(body: ResponseBody, type: Class<T>): T?

Deserializes an entity using the first serializer that supports the body's content type.

Link copied to clipboard
fun <T> deserializeList(body: ResponseBody, type: Class<T>): List<T>?

Deserializes a list of entities using the first serializer that supports the body's content type.

Link copied to clipboard
open operator override fun get(id: String): TElementEndpoint

Returns an element endpoint for a specific child element.

Link copied to clipboard
open override fun getLinks(rel: String): List<Pair<URI, String?>>

Resolves all links with a specific relation type. Uses cached data from last response.

Link copied to clipboard
fun getLinkTemplate(rel: String): UriTemplate

Retrieves a link template with a specific relation type.

Link copied to clipboard
open override fun link(rel: String): URI

Resolves a single link with a specific relation type. Uses cached data from last response if possible.

Link copied to clipboard
open override fun linkTemplate(rel: String, variables: Map<String, Any>): URI

Resolves a link template with a specific relation type. Uses cached data from last response if possible.

Link copied to clipboard
fun <T> serialize(entity: T, type: Class<T>): RequestBody

Serializes an entity using the first serializer.

Link copied to clipboard
fun <T> serializeList(entities: Iterable<T>, type: Class<T>): RequestBody

Serializes a list of entities using the first serializer.

Link copied to clipboard
fun setDefaultLink(rel: String, href: String?)

Registers one or more default links for a specific relation type.

Link copied to clipboard

Registers a default link template for a specific relation type.