TypedRest for Java
|
REST endpoint that represents a single TEntity
.
More...
Public Member Functions | |
ElementEndpointImpl (Endpoint referrer, URI relativeUri, Class< TEntity > entityType) | |
Creates a new element endpoint. More... | |
ElementEndpointImpl (Endpoint referrer, String relativeUri, Class< TEntity > entityType) | |
Creates a new element endpoint. More... | |
TEntity | read () throws IOException, IllegalArgumentException, IllegalAccessException, FileNotFoundException, IllegalStateException |
Returns the specific TEntity . More... | |
boolean | exists () throws IOException, IllegalAccessException |
Determines whether the entity currently exists. More... | |
Optional< Boolean > | isSetAllowed () |
Shows whether the server has indicated that set(java.lang.Object) is currently allowed. More... | |
TEntity | set (TEntity entity) throws IOException, IllegalArgumentException, IllegalAccessException, FileNotFoundException |
Sets/replaces the TEntity . More... | |
Optional< Boolean > | isMergeAllowed () |
Shows whether the server has indicated that merge(java.lang.Object) is currently allowed. More... | |
TEntity | merge (TEntity entity) throws IOException, IllegalArgumentException, IllegalAccessException, FileNotFoundException |
Modifies an existing TEntity by merging changes. More... | |
Optional< Boolean > | isDeleteAllowed () |
Shows whether the server has indicated that delete() is currently allowed. More... | |
void | delete () throws IOException, IllegalArgumentException, IllegalAccessException, FileNotFoundException |
Deletes the TEntity . More... | |
![]() | |
final void | setDefaultLink (String rel, String... hrefs) |
Registers one or more default links for a specific relation type. More... | |
final void | setDefaultLinkTemplate (String rel, String href) |
Registers a default link template for a specific relation type. More... | |
Set< URI > | getLinks (String rel) |
Retrieves all links with a specific relation type cached from the last request. More... | |
Map< URI, String > | getLinksWithTitles (String rel) |
Retrieves all links (with titles) with a specific relation type cached from the last request. More... | |
URI | link (String rel) |
Retrieves a single link with a specific relation type. More... | |
UriTemplate | linkTemplate (String rel) |
Retrieves a link template with a specific relation type. More... | |
String | toString () |
![]() | |
URI | getUri () |
The HTTP URI of the remote resource. More... | |
Executor | getExecutor () |
The REST executor used to communicate with the remote resource. More... | |
ObjectMapper | getSerializer () |
Controls the serialization of entities sent to and received from the server. More... | |
default URI | linkTemplate (String rel, String variableName, Object value) |
Retrieves a link template with a specific relation type and resolves it. More... | |
![]() | |
Class< TEntity > | getEntityType () |
Returns the type of entity the endpoint represents. More... | |
default TEntity | update (TEntity entity) throws IOException, IllegalArgumentException, IllegalAccessException, FileNotFoundException, IllegalStateException |
Sets/replaces the TEntity . More... | |
default TEntity | update (Consumer< TEntity > updateAction) throws IOException, IllegalArgumentException, IllegalAccessException, FileNotFoundException, IllegalStateException |
Reads the current state of the entity, applies a change to it and stores the result. More... | |
default TEntity | update (Consumer< TEntity > updateAction, int maxRetries) throws IOException, IllegalArgumentException, IllegalAccessException, FileNotFoundException, IllegalStateException |
Reads the current state of the entity, applies a change to it and stores the result. More... | |
Additional Inherited Members | |
![]() | |
AbstractETagEndpoint (Endpoint referrer, URI relativeUri) | |
AbstractETagEndpoint (Endpoint referrer, String relativeUri) | |
HttpEntity | getContent () throws IOException, IllegalArgumentException, IllegalAccessException, FileNotFoundException, IllegalStateException |
Performs an HTTP GET request on the Endpoint#getUri() and caches the response if the server sends an ETag header. More... | |
HttpResponse | putContent (HttpEntity content) throws IOException, IllegalArgumentException, IllegalAccessException, FileNotFoundException, IllegalStateException |
Performs an HTTP PUT request on the Endpoint#getUri(). More... | |
HttpResponse | deleteContent () throws IOException, IllegalArgumentException, IllegalAccessException, FileNotFoundException, IllegalStateException |
Performs an HTTP DELETE request on the Endpoint#getUri(). More... | |
![]() | |
AbstractEndpoint (URI uri, Executor executor, ObjectMapper serializer) | |
Creates a new REST endpoint with an absolute URI. More... | |
AbstractEndpoint (Endpoint referrer, URI relativeUri) | |
Creates a new REST endpoint with a relative URI. More... | |
AbstractEndpoint (Endpoint referrer, String relativeUri) | |
Creates a new REST endpoint with a relative URI. More... | |
HttpResponse | executeAndHandle (Request request) throws IOException, IllegalArgumentException, IllegalAccessException, FileNotFoundException, IllegalStateException |
Executes a REST request and wraps HTTP status codes in appropriate Exception types. More... | |
HttpResponse | execute (Request request) throws IOException |
Executes a REST request adding any configured defaultHeaders. More... | |
void | handleResponse (HttpResponse response, Request request) throws IOException, IllegalArgumentException, IllegalAccessException, FileNotFoundException, IllegalStateException |
Handles the response of a REST request and wraps HTTP status codes in appropriate Exception types. More... | |
void | handleErrors (HttpResponse response, Request request) throws IOException, IllegalArgumentException, IllegalAccessException, FileNotFoundException, IllegalStateException |
Wraps HTTP status codes in appropriate Exception types. More... | |
void | handleHeaderLinks (HttpResponse response, Map< String, Map< URI, String >> links, Map< String, String > linkTemplates) |
Handles links embedded in HTTP response headers. More... | |
void | handleBodyLinks (JsonNode jsonBody, Map< String, Map< URI, String >> links, Map< String, String > linkTemplates) |
Handles links embedded in JSON response bodies. More... | |
void | handleCapabilities (HttpResponse response) |
Handles allowed HTTP methods and other capabilities reported by the server. More... | |
Optional< Boolean > | isMethodAllowed (String method) |
Shows whether the server has indicated that a specific HTTP method is currently allowed. More... | |
![]() | |
final URI | uri |
final Executor | executor |
final ObjectMapper | serializer |
final Collection< Header > | defaultHeaders = new LinkedList<>() |
A set of default HTTP headers to be added to each request. | |
REST endpoint that represents a single TEntity
.
<TEntity> | The type of entity the endpoint represents. |
net.typedrest.ElementEndpointImpl< TEntity >.ElementEndpointImpl | ( | Endpoint | referrer, |
URI | relativeUri, | ||
Class< TEntity > | entityType | ||
) |
Creates a new element endpoint.
referrer | The endpoint used to navigate to this one. |
relativeUri | The URI of this endpoint relative to the referrer 's. |
entityType | The type of entity the endpoint represents. |
net.typedrest.ElementEndpointImpl< TEntity >.ElementEndpointImpl | ( | Endpoint | referrer, |
String | relativeUri, | ||
Class< TEntity > | entityType | ||
) |
Creates a new element endpoint.
referrer | The endpoint used to navigate to this one. |
relativeUri | The URI of this endpoint relative to the referrer 's. Prefix ./ to append a trailing slash to the referrer URI if missing. |
entityType | The type of entity the endpoint represents. |
void net.typedrest.ElementEndpointImpl< TEntity >.delete | ( | ) | throws IOException, IllegalArgumentException, IllegalAccessException, FileNotFoundException |
Deletes the TEntity
.
IOException | Network communication failed. |
IllegalArgumentException | HttpStatus#SC_BAD_REQUEST |
IllegalAccessException | HttpStatus#SC_UNAUTHORIZED or HttpStatus#SC_FORBIDDEN |
FileNotFoundException | HttpStatus#SC_NOT_FOUND or HttpStatus#SC_GONE |
IllegalStateException | The entity has changed since it was last retrieved with read(). Your delete call was rejected to prevent a lost update. |
RuntimeException | Other non-success status code. |
Implements net.typedrest.ElementEndpoint< TEntity >.
boolean net.typedrest.ElementEndpointImpl< TEntity >.exists | ( | ) | throws IOException, IllegalAccessException |
Determines whether the entity currently exists.
true
if the entity currently exists, false
if it does not.IOException | Network communication failed. |
IllegalAccessException | HttpStatus#SC_UNAUTHORIZED or HttpStatus#SC_FORBIDDEN |
RuntimeException | Other non-success status code. |
Implements net.typedrest.ElementEndpoint< TEntity >.
Optional<Boolean> net.typedrest.ElementEndpointImpl< TEntity >.isDeleteAllowed | ( | ) |
Shows whether the server has indicated that delete() is currently allowed.
Uses cached data from last response.
Implements net.typedrest.ElementEndpoint< TEntity >.
Optional<Boolean> net.typedrest.ElementEndpointImpl< TEntity >.isMergeAllowed | ( | ) |
Shows whether the server has indicated that merge(java.lang.Object) is currently allowed.
Uses cached data from last response.
Implements net.typedrest.ElementEndpoint< TEntity >.
Optional<Boolean> net.typedrest.ElementEndpointImpl< TEntity >.isSetAllowed | ( | ) |
Shows whether the server has indicated that set(java.lang.Object) is currently allowed.
Uses cached data from last response.
Implements net.typedrest.ElementEndpoint< TEntity >.
TEntity net.typedrest.ElementEndpointImpl< TEntity >.merge | ( | TEntity | entity | ) | throws IOException, IllegalArgumentException, IllegalAccessException, FileNotFoundException |
Modifies an existing TEntity
by merging changes.
entity | The TEntity data to merge with the existing one. |
TEntity
as returned by the server, possibly with additional fields set. null
if the server does not respond with a result entity. IOException | Network communication failed. |
IllegalArgumentException | HttpStatus#SC_BAD_REQUEST |
IllegalAccessException | HttpStatus#SC_UNAUTHORIZED or HttpStatus#SC_FORBIDDEN |
FileNotFoundException | HttpStatus#SC_NOT_FOUND or HttpStatus#SC_GONE |
IllegalStateException | The entity has changed since it was last retrieved with read(). Your changes were rejected to prevent a lost update. |
RuntimeException | Other non-success status code. |
Implements net.typedrest.ElementEndpoint< TEntity >.
TEntity net.typedrest.ElementEndpointImpl< TEntity >.read | ( | ) | throws IOException, IllegalArgumentException, IllegalAccessException, FileNotFoundException, IllegalStateException |
Returns the specific TEntity
.
TEntity
.IOException | Network communication failed. |
IllegalArgumentException | HttpStatus#SC_BAD_REQUEST |
IllegalAccessException | HttpStatus#SC_UNAUTHORIZED or HttpStatus#SC_FORBIDDEN |
FileNotFoundException | HttpStatus#SC_NOT_FOUND or HttpStatus#SC_GONE |
IllegalStateException | HttpStatus#SC_CONFLICT |
RuntimeException | Other non-success status code. |
Implements net.typedrest.ElementEndpoint< TEntity >.
TEntity net.typedrest.ElementEndpointImpl< TEntity >.set | ( | TEntity | entity | ) | throws IOException, IllegalArgumentException, IllegalAccessException, FileNotFoundException |
Sets/replaces the TEntity
.
entity | The new TEntity . |
TEntity
as returned by the server, possibly with additional fields set. null
if the server does not respond with a result entity. IOException | Network communication failed. |
IllegalArgumentException | HttpStatus#SC_BAD_REQUEST |
IllegalAccessException | HttpStatus#SC_UNAUTHORIZED or HttpStatus#SC_FORBIDDEN |
FileNotFoundException | HttpStatus#SC_NOT_FOUND or HttpStatus#SC_GONE |
IllegalStateException | The entity has changed since it was last retrieved with read(). Your changes were rejected to prevent a lost update. |
RuntimeException | Other non-success status code. |
Implements net.typedrest.ElementEndpoint< TEntity >.