Package com.sodius.oslc.client.requests
Class PutResource<T,R>
- java.lang.Object
-
- com.sodius.oslc.client.requests.AbstractResourceRequest<ResourceResponse<R>>
-
- com.sodius.oslc.client.requests.PutResource<T,R>
-
- Type Parameters:
T- the type of entity to send as PUT payload.R- the type of response to extract from the request execution.
- All Implemented Interfaces:
ResourceRequest<ResourceResponse<R>>,Callable<ResourceResponse<R>>
- Direct Known Subclasses:
UpdateDataGroupPermissions,UpdateUserGroupMembers
public class PutResource<T,R> extends AbstractResourceRequest<ResourceResponse<R>>
Executes a PUT request on a OSLC resource.
An
OSLC-Core-Versionheader is set to2.0, as the PUT is expected to execute on an OSLC resource. Clients should subclassAbstractResourceRequestto execute a PUT on a non-OSLC resource.- Since:
- 1.1.0
-
-
Constructor Summary
Constructors Constructor Description PutResource(OslcClient client, URI uri, String eTag, T entity)Creates a new instance to execute a PUT on the specified resource.PutResource(OslcClient client, URI uri, String eTag, T entity, MediaType contentType)Creates a new instance to execute a PUT on the specified resource.PutResource(OslcClient client, URI uri, String eTag, T entity, MediaType contentType, Class<R> resultType, MediaType acceptType)Creates a new instance to execute a PUT on the specified resource and to parse the entity from the response.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected ClientResponsecall(OslcResource resource)Executes a PUT request on the resource.protected ResourceResponse<R>createResponse(OslcResource resource, ClientResponse response)Extracts aResourceResponseinstance from the obtained HTTP response.-
Methods inherited from class com.sodius.oslc.client.requests.AbstractResourceRequest
call, createErrorResponse, createResourceResponse, getClient, getUri
-
-
-
-
Constructor Detail
-
PutResource
public PutResource(OslcClient client, URI uri, String eTag, T entity)
Creates a new instance to execute a PUT on the specified resource. This constructor shall be used when no entity is expected in the response content.An
Content-Typeheader is set toapplication/rdf+xml, as this is the most frequently used exchange format.- Parameters:
client- the REST client used to execute a request.uri- the URI used for the underlying request.eTag- the ETag to send as PUT header.entity- the entity to send as PUT payload.
-
PutResource
public PutResource(OslcClient client, URI uri, String eTag, T entity, MediaType contentType)
Creates a new instance to execute a PUT on the specified resource. This constructor shall be used when no entity is expected in the response content.- Parameters:
client- the REST client used to execute a request.uri- the URI used for the underlying request.eTag- the ETag to send as PUT header.entity- the entity to send as PUT payload.contentType- theContent-Typeheader to send.
-
PutResource
public PutResource(OslcClient client, URI uri, String eTag, T entity, MediaType contentType, Class<R> resultType, MediaType acceptType)
Creates a new instance to execute a PUT on the specified resource and to parse the entity from the response.- Parameters:
client- the REST client used to execute a request.uri- the URI used for the underlying request.eTag- the ETag to send as PUT header.entity- the entity to send as PUT payload.contentType- theContent-Typeheader to send.resultType- the type of entity to extract from the responseacceptType- theAcceptheader to send, which describes the expected response entity format.
-
-
Method Detail
-
call
protected ClientResponse call(OslcResource resource)
Executes a PUT request on the resource.An
OSLC-Core-Versionheader is set to2.0, as the PUT is expected to execute on an OSLC resource. Clients should subclassAbstractResourceRequestto execute a PUT on a non-OSLC resource.- Specified by:
callin classAbstractResourceRequest<ResourceResponse<R>>- Parameters:
resource- the resource on which to execute a request.- Returns:
- the response of the request execution.
-
createResponse
protected ResourceResponse<R> createResponse(OslcResource resource, ClientResponse response)
Extracts aResourceResponseinstance from the obtained HTTP response.If the specified response type is
nullorVoid.class, this method does not try to parse the entity from the response and returns just the response headers in aResourceResponseinstance.- Specified by:
createResponsein classAbstractResourceRequest<ResourceResponse<R>>- Parameters:
resource- the resource on which a request is executed.response- the response obtained.- Returns:
- the extraction of the response content into the expected format.
-
-