TypedRest for Java
Public Member Functions | List of all members
net.typedrest.ElementEndpoint< TEntity > Interface Template Reference

REST endpoint that represents a single entity. More...

Inheritance diagram for net.typedrest.ElementEndpoint< TEntity >:
net.typedrest.Endpoint net.typedrest.ElementEndpointImpl< TEntity > net.typedrest.PollingEndpoint< TEntity > net.typedrest.PollingEndpointImpl< TEntity > net.typedrest.PollingEndpointImpl< TEntity >

Public Member Functions

Class< TEntity > getEntityType ()
 Returns the type of entity the endpoint represents. 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, IllegalStateException
 Sets/replaces the TEntity. 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...
 
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, IllegalStateException
 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, IllegalStateException
 Deletes the TEntity. More...
 
- Public Member Functions inherited from net.typedrest.Endpoint
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...
 
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...
 
default URI linkTemplate (String rel, String variableName, Object value)
 Retrieves a link template with a specific relation type and resolves it. More...
 

Detailed Description

REST endpoint that represents a single entity.

Parameters
<TEntity>The type of entity the endpoint represents.

Member Function Documentation

◆ delete()

void net.typedrest.ElementEndpoint< TEntity >.delete ( ) throws IOException, IllegalArgumentException, IllegalAccessException, FileNotFoundException, IllegalStateException

Deletes the TEntity.

Exceptions
IOExceptionNetwork communication failed.
IllegalArgumentExceptionHttpStatus#SC_BAD_REQUEST
IllegalAccessExceptionHttpStatus#SC_UNAUTHORIZED or HttpStatus#SC_FORBIDDEN
FileNotFoundExceptionHttpStatus#SC_NOT_FOUND or HttpStatus#SC_GONE
IllegalStateExceptionThe entity has changed since it was last retrieved with read(). Your delete call was rejected to prevent a lost update.
RuntimeExceptionOther non-success status code.

Implemented in net.typedrest.ElementEndpointImpl< TEntity >.

◆ exists()

boolean net.typedrest.ElementEndpoint< TEntity >.exists ( ) throws IOException, IllegalAccessException

Determines whether the entity currently exists.

Returns
true if the entity currently exists, false if it does not.
Exceptions
IOExceptionNetwork communication failed.
IllegalAccessExceptionHttpStatus#SC_UNAUTHORIZED or HttpStatus#SC_FORBIDDEN
RuntimeExceptionOther non-success status code.

Implemented in net.typedrest.ElementEndpointImpl< TEntity >.

◆ getEntityType()

Class<TEntity> net.typedrest.ElementEndpoint< TEntity >.getEntityType ( )

Returns the type of entity the endpoint represents.

Returns
The class type.

◆ isDeleteAllowed()

Optional<Boolean> net.typedrest.ElementEndpoint< TEntity >.isDeleteAllowed ( )

Shows whether the server has indicated that delete() is currently allowed.

Uses cached data from last response.

Returns
An indicator whether the method is allowed. If no request has been sent yet or the server did not specify allowed methods Optional#empty() is returned.

Implemented in net.typedrest.ElementEndpointImpl< TEntity >.

◆ isMergeAllowed()

Optional<Boolean> net.typedrest.ElementEndpoint< TEntity >.isMergeAllowed ( )

Shows whether the server has indicated that merge(java.lang.Object) is currently allowed.

Uses cached data from last response.

Returns
An indicator whether the method is allowed. If no request has been sent yet or the server did not specify allowed methods Optional#empty() is returned.

Implemented in net.typedrest.ElementEndpointImpl< TEntity >.

◆ isSetAllowed()

Optional<Boolean> net.typedrest.ElementEndpoint< TEntity >.isSetAllowed ( )

Shows whether the server has indicated that set(java.lang.Object) is currently allowed.

Uses cached data from last response.

Returns
An indicator whether the method is allowed. If no request has been sent yet or the server did not specify allowed methods Optional#empty() is returned.

Implemented in net.typedrest.ElementEndpointImpl< TEntity >.

◆ merge()

TEntity net.typedrest.ElementEndpoint< TEntity >.merge ( TEntity  entity) throws IOException, IllegalArgumentException, IllegalAccessException, FileNotFoundException, IllegalStateException

Modifies an existing TEntity by merging changes.

Parameters
entityThe TEntity data to merge with the existing one.
Returns
The TEntity as returned by the server, possibly with additional fields set. null if the server does not respond with a result entity.
Exceptions
IOExceptionNetwork communication failed.
IllegalArgumentExceptionHttpStatus#SC_BAD_REQUEST
IllegalAccessExceptionHttpStatus#SC_UNAUTHORIZED or HttpStatus#SC_FORBIDDEN
FileNotFoundExceptionHttpStatus#SC_NOT_FOUND or HttpStatus#SC_GONE
IllegalStateExceptionThe entity has changed since it was last retrieved with read(). Your changes were rejected to prevent a lost update.
RuntimeExceptionOther non-success status code.

Implemented in net.typedrest.ElementEndpointImpl< TEntity >.

◆ read()

TEntity net.typedrest.ElementEndpoint< TEntity >.read ( ) throws IOException, IllegalArgumentException, IllegalAccessException, FileNotFoundException, IllegalStateException

Returns the specific TEntity.

Returns
The specific TEntity.
Exceptions
IOExceptionNetwork communication failed.
IllegalArgumentExceptionHttpStatus#SC_BAD_REQUEST
IllegalAccessExceptionHttpStatus#SC_UNAUTHORIZED or HttpStatus#SC_FORBIDDEN
FileNotFoundExceptionHttpStatus#SC_NOT_FOUND or HttpStatus#SC_GONE
IllegalStateExceptionHttpStatus#SC_CONFLICT
RuntimeExceptionOther non-success status code.

Implemented in net.typedrest.ElementEndpointImpl< TEntity >.

◆ set()

TEntity net.typedrest.ElementEndpoint< TEntity >.set ( TEntity  entity) throws IOException, IllegalArgumentException, IllegalAccessException, FileNotFoundException, IllegalStateException

Sets/replaces the TEntity.

Parameters
entityThe new TEntity.
Returns
The TEntity as returned by the server, possibly with additional fields set. null if the server does not respond with a result entity.
Exceptions
IOExceptionNetwork communication failed.
IllegalArgumentExceptionHttpStatus#SC_BAD_REQUEST
IllegalAccessExceptionHttpStatus#SC_UNAUTHORIZED or HttpStatus#SC_FORBIDDEN
FileNotFoundExceptionHttpStatus#SC_NOT_FOUND or HttpStatus#SC_GONE
IllegalStateExceptionThe entity has changed since it was last retrieved with read(). Your changes were rejected to prevent a lost update.
RuntimeExceptionOther non-success status code.

Implemented in net.typedrest.ElementEndpointImpl< TEntity >.

◆ update() [1/3]

default TEntity net.typedrest.ElementEndpoint< TEntity >.update ( TEntity  entity) throws IOException, IllegalArgumentException, IllegalAccessException, FileNotFoundException, IllegalStateException

Sets/replaces the TEntity.

Parameters
entityThe new TEntity.
Returns
The TEntity as returned by the server, possibly with additional fields set. null if the server does not respond with a result entity.
Exceptions
IOExceptionNetwork communication failed.
IllegalArgumentExceptionHttpStatus#SC_BAD_REQUEST
IllegalAccessExceptionHttpStatus#SC_UNAUTHORIZED or HttpStatus#SC_FORBIDDEN
FileNotFoundExceptionHttpStatus#SC_NOT_FOUND or HttpStatus#SC_GONE
IllegalStateExceptionThe entity has changed since it was last retrieved with read(). Your changes were rejected to prevent a lost update.
RuntimeExceptionOther non-success status code.
Deprecated:
Use set(java.lang.Object) instead.

◆ update() [2/3]

default TEntity net.typedrest.ElementEndpoint< 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.

Applies optimistic concurrency using automatic retries.

Parameters
updateActionA callback that takes the current state of the entity and applies the desired modifications.
Returns
The TEntity as returned by the server, possibly with additional fields set. null if the server does not respond with a result entity.
Exceptions
IOException
IllegalArgumentException
IllegalAccessException
FileNotFoundException
IllegalStateException

◆ update() [3/3]

default TEntity net.typedrest.ElementEndpoint< 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.

Applies optimistic concurrency using automatic retries.

Parameters
updateActionA callback that takes the current state of the entity and applies the desired modifications.
maxRetriesThe maximum number of retries to perform for optimistic concurrency before giving up.
Returns
The TEntity as returned by the server, possibly with additional fields set. null if the server does not respond with a result entity.
Exceptions
IOExceptionNetwork communication failed.
IllegalArgumentExceptionHttpStatus#SC_BAD_REQUEST
IllegalAccessExceptionHttpStatus#SC_UNAUTHORIZED or HttpStatus#SC_FORBIDDEN
FileNotFoundExceptionHttpStatus#SC_NOT_FOUND or HttpStatus#SC_GONE
IllegalStateExceptionThe entity has changed since it was last retrieved with read(). Your changes were rejected to prevent a lost update.
RuntimeExceptionOther non-success status code.

The documentation for this interface was generated from the following file: