Class GetResources<T>

  • Type Parameters:
    T - the type of response to extract from the request execution.
    All Implemented Interfaces:
    ResourceRequest<ResourceResponse<Collection<T>>>, Callable<ResourceResponse<Collection<T>>>

    public class GetResources<T>
    extends AbstractResourceRequest<ResourceResponse<Collection<T>>>

    Executes a GET request on an OSLC resource that contains multiple instances of the target type. As suggested by the Collection return type, the order of resources is not preserved. This is typically useful when requesting Container resources.

    An OSLC-Core-Version header is set to 2.0, as the GET is expected to execute on an OSLC resource. Clients should subclass AbstractResourceRequest to execute a GET on a non-OSLC resource.

    Since:
    1.1.0
    • Constructor Detail

      • GetResources

        public GetResources​(OslcClient client,
                            URI uri,
                            Class<T> entityType)
        Creates a new instance to execute a GET on the specified resource.

        An Accept header is set to application/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.
        entityType - the entityType specifying the type of artifacts to extract from the request execution and to fill in the collection.
      • GetResources

        public GetResources​(OslcClient client,
                            URI uri,
                            Class<T> entityType,
                            MediaType acceptType)
        Creates a new instance to execute a GET on the specified resource.
        Parameters:
        client - the REST client used to execute a request.
        uri - the URI used for the underlying request.
        entityType - the entityType specifying the type of artifacts to extract from the request execution and to fill in the collection.
        acceptType - the MediaType to use as the accept header
    • Method Detail

      • createResponse

        protected ResourceResponse<Collection<T>> createResponse​(OslcResource resource,
                                                                 ClientResponse response)
        Extracts a ResourceResponse instance from the obtained HTTP response. The response contains the response headers, from which the ETag header can be extracted in case this request is to follow by a PUT.
        Specified by:
        createResponse in class AbstractResourceRequest<ResourceResponse<Collection<T>>>
        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.
      • get

        public Collection<T> get()
        Executes the GET request and extracts the response entity directly, in case the response headers are not of any use. This method is a shorthand for myRequest.call().getEntity().
        Returns:
        the entity of the response of the GET execution.