All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jboss.resteasy.client.ClientResponse Maven / Gradle / Ivy

There is a newer version: 1.1.1
Show newest version
package org.jboss.resteasy.client;

import org.jboss.resteasy.spi.Link;
import org.jboss.resteasy.spi.LinkHeader;
import org.jboss.resteasy.util.GenericType;

import javax.ws.rs.core.MultivaluedMap;
import javax.ws.rs.core.Response;
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
import java.util.Map;

/**
 * Response extension for the RESTEasy client framework. Use this, or Response
 * in your client proxy interface method return type declarations if you want
 * access to the response entity as well as status and header information.
 *
 * @deprecated The Resteasy client framework in resteasy-jaxrs is replaced by the JAX-RS 2.0 compliant resteasy-client module.
 * @author Bill Burke
 * @version $Revision: 1 $
 * 
 * @see javax.ws.rs.core.Response
 * @see org.jboss.resteasy.client.jaxrs.internal.ClientResponse
 */
@Deprecated
public abstract class ClientResponse extends Response
{
   /**
    * This method returns the same exact map as Response.getMetadata() except as a map of strings rather than objects
    *
    * @return
    */
   public abstract MultivaluedMap getResponseHeaders();

   public abstract Response.Status getResponseStatus();

   /**
    * Unmarshal the target entity from the response OutputStream.  You must have type information set via 
    * otherwise, this will not work.
    * 

* This method actually does the reading on the OutputStream. It will only do the read once. Afterwards, it will * cache the result and return the cached result. * * @return */ public abstract T getEntity(); /** * Extract the response body with the provided type information *

* This method actually does the reading on the OutputStream. It will only do the read once. Afterwards, it will * cache the result and return the cached result. * * @param type * @param genericType * @param * @return */ public abstract T2 getEntity(Class type); /** * Extract the response body with the provided type information *

* This method actually does the reading on the OutputStream. It will only do the read once. Afterwards, it will * cache the result and return the cached result. * * @param type * @param genericType * @param * @return */ public abstract T2 getEntity(Class type, Type genericType); /** * @param type * @param genericType * @param annotations * @param * @return */ public abstract T2 getEntity(Class type, Type genericType, Annotation[] annotations); /** * Extract the response body with the provided type information. GenericType is a trick used to * pass in generic type information to the resteasy runtime. *

* For example: *

    * List list = response.getEntity(new GenericType() {});
    *
    *
    * This method actually does the reading on the OutputStream.  It will only do the read once.  Afterwards, it will
    * cache the result and return the cached result.
    *
    * @param type
    * @param 
    * @return
    */
   public abstract  T2 getEntity(GenericType type);

   /**
    * @param type
    * @param annotations
    * @param 
    * @return
    */
   public abstract  T2 getEntity(GenericType type, Annotation[] annotations);

   /**
    * Get the link headers of the response.
    * All Link objects returned will automatically have the same ClientExecutor as the request.
    *
    * @return non-null
    */
   public abstract LinkHeader getLinkHeader();

   /**
    * Get the Location header as a Link so you can easily execute on it.
    * All Link objects returned will automatically have the same ClientExecutor as the request.
    *
    * @return
    */
   public abstract Link getLocationLink();

   /**
    * Header is assumed to be a URL, a Link object is created from it if it exists.  Also, the type field of the
    * link with be initialized if there is another header appended with -Type.  i.e. if the header was "custom"
    * it will also look for a header of custom-type and expect that this is a media type.
    * 

* All Link objects returned will automatically have the same ClientExecutor as the request. * * @param headerName * @return null if it doesn't exist */ public abstract Link getHeaderAsLink(String headerName); /** * Attempts to reset the InputStream of the response. Useful for refetching an entity after a marshalling failure */ public abstract void resetStream(); public abstract void releaseConnection(); /** * Used to pass information to and between interceptors. * * @return */ public abstract Map getAttributes(); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy