All Classes and Interfaces
Class
Description
Asynchronously creates a
HalResponse
from a server-side HalApiInterface
implementation instance,
using AsyncHalResourceRenderer
to render a HalResource
, and VndErrorResponseRenderer
to
handle any errors that might happen during resource rendering.A configuration instance for the caching
HalResourceLoader
implementations created with
HalResourceLoaderBuilder
.Allows users of this framework to specify how
VndErrorResponseRenderer
handles specific exceptions that the
framework doesn't know aboutAn SPI interface that allows the core framework to support additional annotations in your HAL-API interfaces.
A type-safe HAL client that will create a dynamic proxy implementation for a given URI
and
HalApiInterface
.A fluent builder to create and customize
HalApiClient
instances for advanced integration or test scenarios.Thrown whenever the
HalApiClient
implementation fails to load a HAL resource, and provides
access to the status code and URL of the failed HTTP request.Thrown by the framework whenever an error condition is likely to be caused by invalid code (rather than network or
data issues)
An SPI interface that allows to use additional return types (e.g.
A server-side exception that you can throw in your resource implementations if you want to send a response with a
specific status code
An interface to delegate (or mock) the actual loading (and caching) of all JSON+HAL resources
loaded via
HalApiClient
and Rhyme
to any other HTTP client
client implementation.A builder to create and configure a
HalResourceLoader
instance that is using a custom HTTP client
implementation and/or uses a HalResponseCache
to cache HTTP responses.A response to a successful or failed HTTP request to retrieve a
HalResource
An SPI interface for a cache implementation that can be given to
HalResourceLoaderBuilder.withCustomCache(HalResponseCache)
if you want to store HAL+JSON responses
in a custom cache (e.g. in an external, persistent data store).A fluent builder for
AsyncHalResponseRenderer
instances which is only used in advanced integration
scenarios.Callback interface used by
HttpClientSupport.executeGetRequest(URI, HttpClientCallback)
to process a response that has been retrieved, and handle any errors according to the contract
of the HalResourceLoader.getHalResource(String)
methodA simpler callback-style SPI interface that you can implement instead of
HalResourceLoader
if you want to enable Rhyme
or HalApiClient
instances
to fetch HTTP resources with a custom client library.Keeps track of all upstream resource that have been fetched while handling the current request, and collects
additional data for performance analyze and caching.
Represents an ongoing measurement of execution time that was started with
Rhyme.startStopwatch(Class, Supplier)
or RequestMetricsCollector.startStopwatch(Class, Supplier)
,
and needs to be closed to finish the measurement.Contains utility methods to perform conversions between resources that are semantically identical, but
need some tweaks for the framework to properly handle them
A facade interface that simplifies all interaction with the core framework to handle an incoming request for a
HAL+JSON resource.
A fluent builder to configure and create a single
Rhyme
instance, which then should be used throughout the
lifecycle of the current incoming request.SPI interface to customize the integration of HTML documentation generated with
the rhyme-docs-maven-plugin.
Defines configuration methods to influence if and how
Rhyme.renderResponse(LinkableResource)
adds additional metadata to the responseCreates an error response according to the "application/vnd.error+json" media type for any
exception thrown and caught during request processing.