org.glassfish.jersey.client
Class ClientRequest

java.lang.Object
  extended by org.glassfish.jersey.message.internal.OutboundMessageContext
      extended by org.glassfish.jersey.client.ClientRequest
All Implemented Interfaces:
javax.ws.rs.client.ClientRequestContext

public class ClientRequest
extends OutboundMessageContext
implements javax.ws.rs.client.ClientRequestContext

Jersey client request context.

Author:
Marek Potociar (marek.potociar at oracle.com)

Nested Class Summary
 
Nested classes/interfaces inherited from class org.glassfish.jersey.message.internal.OutboundMessageContext
OutboundMessageContext.StreamProvider
 
Constructor Summary
  ClientRequest(ClientRequest original)
          Copy constructor.
protected ClientRequest(URI requestUri, ClientConfig clientConfig, PropertiesDelegate propertiesDelegate)
          Create new Jersey client request context.
 
Method Summary
 void abortWith(javax.ws.rs.core.Response response)
           
 void accept(javax.ws.rs.core.MediaType... types)
          Add new accepted types to the message headers.
 void accept(String... types)
          Add new accepted types to the message headers.
 void acceptLanguage(Locale... locales)
          Add new accepted languages to the message headers.
 void acceptLanguage(String... locales)
          Add new accepted languages to the message headers.
 void cacheControl(javax.ws.rs.core.CacheControl cacheControl)
          Add new cache control entry to the message headers.
 void cookie(javax.ws.rs.core.Cookie cookie)
          Add new cookie to the message headers.
 void enableBuffering()
          Enable a buffering of serialized entity.
 void encoding(String encoding)
          Set message encoding.
 javax.ws.rs.core.Response getAbortResponse()
          Get the request filter chain aborting response if set, or null otherwise.
 JerseyClient getClient()
           
 javax.ws.rs.core.Configuration getConfiguration()
           
 Map<String,javax.ws.rs.core.Cookie> getCookies()
           
 String getMethod()
           
 Object getProperty(String name)
           
 Collection<String> getPropertyNames()
           
 Iterable<javax.ws.rs.ext.ReaderInterceptor> getReaderInterceptors()
          Get reader interceptors of this request.
 URI getUri()
           
 MessageBodyWorkers getWorkers()
          Get the message body workers associated with the request.
 Iterable<javax.ws.rs.ext.WriterInterceptor> getWriterInterceptors()
          Get writer interceptors of this request.
 boolean isAsynchronous()
          Returns true if the request is called asynchronously using AsyncInvoker
 void language(Locale language)
          Set message language.
 void language(String language)
          Set message language.
 void removeProperty(String name)
           
<T> T
resolveProperty(String name, Class<T> type)
          Resolve a property value for the specified property name.
<T> T
resolveProperty(String name, T defaultValue)
          Resolve a property value for the specified property name.
 void setMethod(String method)
           
 void setProperty(String name, Object object)
           
 void setUri(URI uri)
           
 void setWorkers(MessageBodyWorkers workers)
          Set the message body workers associated with the request.
 void type(javax.ws.rs.core.MediaType type)
          Set message content type.
 void type(String type)
          Set message content type.
 void variant(javax.ws.rs.core.Variant variant)
          Set message content variant (type, language and encoding).
 void writeEntity()
          Write (serialize) the entity set in this request into the entity stream.
 
Methods inherited from class org.glassfish.jersey.message.internal.OutboundMessageContext
close, commitStream, enableBuffering, getAcceptableLanguages, getAcceptableMediaTypes, getAllowedMethods, getDate, getEntity, getEntityAnnotations, getEntityClass, getEntityStream, getEntityTag, getEntityType, getHeaders, getHeaderString, getLanguage, getLastModified, getLength, getLink, getLinkBuilder, getLinks, getLocation, getMediaType, getRequestCookies, getResponseCookies, getStringHeaders, hasEntity, hasLink, isCommitted, replaceHeaders, setEntity, setEntity, setEntity, setEntity, setEntityAnnotations, setEntityStream, setEntityType, setMediaType, setStreamProvider
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.ws.rs.client.ClientRequestContext
getAcceptableLanguages, getAcceptableMediaTypes, getDate, getEntity, getEntityAnnotations, getEntityClass, getEntityStream, getEntityType, getHeaders, getHeaderString, getLanguage, getMediaType, getStringHeaders, hasEntity, setEntity, setEntity, setEntityStream
 

Constructor Detail

ClientRequest

protected ClientRequest(URI requestUri,
                        ClientConfig clientConfig,
                        PropertiesDelegate propertiesDelegate)
Create new Jersey client request context.

Parameters:
requestUri - request Uri.
clientConfig - request configuration.
propertiesDelegate - properties delegate.

ClientRequest

public ClientRequest(ClientRequest original)
Copy constructor.

Parameters:
original - original instance.
Method Detail

resolveProperty

public <T> T resolveProperty(String name,
                             Class<T> type)
Resolve a property value for the specified property name.

The method returns the value of the property registered in the request-specific property bag, if available. If no property for the given property name is found in the request-specific property bag, the method looks at the properties stored in the global client-runtime configuration this request belongs to. If there is a value defined in the client-runtime configuration, it is returned, otherwise the method returns null if no such property is registered neither in the client runtime nor in the request-specific property bag.

Type Parameters:
T - property Java type.
Parameters:
name - property name.
type - expected property class type.
Returns:
resolved property value or null if no such property is registered.

resolveProperty

public <T> T resolveProperty(String name,
                             T defaultValue)
Resolve a property value for the specified property name.

The method returns the value of the property registered in the request-specific property bag, if available. If no property for the given property name is found in the request-specific property bag, the method looks at the properties stored in the global client-runtime configuration this request belongs to. If there is a value defined in the client-runtime configuration, it is returned, otherwise the method returns defaultValue if no such property is registered neither in the client runtime nor in the request-specific property bag.

Type Parameters:
T - property Java type.
Parameters:
name - property name.
defaultValue - default value to return if the property is not registered.
Returns:
resolved property value or defaultValue if no such property is registered.

getProperty

public Object getProperty(String name)
Specified by:
getProperty in interface javax.ws.rs.client.ClientRequestContext

getPropertyNames

public Collection<String> getPropertyNames()
Specified by:
getPropertyNames in interface javax.ws.rs.client.ClientRequestContext

setProperty

public void setProperty(String name,
                        Object object)
Specified by:
setProperty in interface javax.ws.rs.client.ClientRequestContext

removeProperty

public void removeProperty(String name)
Specified by:
removeProperty in interface javax.ws.rs.client.ClientRequestContext

getUri

public URI getUri()
Specified by:
getUri in interface javax.ws.rs.client.ClientRequestContext

setUri

public void setUri(URI uri)
Specified by:
setUri in interface javax.ws.rs.client.ClientRequestContext

getMethod

public String getMethod()
Specified by:
getMethod in interface javax.ws.rs.client.ClientRequestContext

setMethod

public void setMethod(String method)
Specified by:
setMethod in interface javax.ws.rs.client.ClientRequestContext

getClient

public JerseyClient getClient()
Specified by:
getClient in interface javax.ws.rs.client.ClientRequestContext

abortWith

public void abortWith(javax.ws.rs.core.Response response)
Specified by:
abortWith in interface javax.ws.rs.client.ClientRequestContext

getAbortResponse

public javax.ws.rs.core.Response getAbortResponse()
Get the request filter chain aborting response if set, or null otherwise.

Returns:
request filter chain aborting response if set, or null otherwise.

getConfiguration

public javax.ws.rs.core.Configuration getConfiguration()
Specified by:
getConfiguration in interface javax.ws.rs.client.ClientRequestContext

getCookies

public Map<String,javax.ws.rs.core.Cookie> getCookies()
Specified by:
getCookies in interface javax.ws.rs.client.ClientRequestContext

getWorkers

public MessageBodyWorkers getWorkers()
Get the message body workers associated with the request.

Returns:
message body workers.

setWorkers

public void setWorkers(MessageBodyWorkers workers)
Set the message body workers associated with the request.

Parameters:
workers - message body workers.

accept

public void accept(javax.ws.rs.core.MediaType... types)
Add new accepted types to the message headers.

Parameters:
types - accepted types to be added.

accept

public void accept(String... types)
Add new accepted types to the message headers.

Parameters:
types - accepted types to be added.

acceptLanguage

public void acceptLanguage(Locale... locales)
Add new accepted languages to the message headers.

Parameters:
locales - accepted languages to be added.

acceptLanguage

public void acceptLanguage(String... locales)
Add new accepted languages to the message headers.

Parameters:
locales - accepted languages to be added.

cookie

public void cookie(javax.ws.rs.core.Cookie cookie)
Add new cookie to the message headers.

Parameters:
cookie - cookie to be added.

cacheControl

public void cacheControl(javax.ws.rs.core.CacheControl cacheControl)
Add new cache control entry to the message headers.

Parameters:
cacheControl - cache control entry to be added.

encoding

public void encoding(String encoding)
Set message encoding.

Parameters:
encoding - message encoding to be set.

language

public void language(String language)
Set message language.

Parameters:
language - message language to be set.

language

public void language(Locale language)
Set message language.

Parameters:
language - message language to be set.

type

public void type(javax.ws.rs.core.MediaType type)
Set message content type.

Parameters:
type - message content type to be set.

type

public void type(String type)
Set message content type.

Parameters:
type - message content type to be set.

variant

public void variant(javax.ws.rs.core.Variant variant)
Set message content variant (type, language and encoding).

Parameters:
variant - message content content variant (type, language and encoding) to be set.

isAsynchronous

public boolean isAsynchronous()
Returns true if the request is called asynchronously using AsyncInvoker

Returns:
True if the request is asynchronous; false otherwise.

enableBuffering

public void enableBuffering()
Enable a buffering of serialized entity. The buffering will be configured from runtime configuration associated with this request. The property determining the size of the buffer is CommonProperties.OUTBOUND_CONTENT_LENGTH_BUFFER.

The buffering functionality is by default disabled and could be enabled by calling this method. In this case this method must be called before first bytes are written to the entity stream.


writeEntity

public void writeEntity()
                 throws IOException
Write (serialize) the entity set in this request into the entity stream. The method use writer interceptors and message body writer.

This method modifies the state of this request and therefore it can be called only once per request life cycle otherwise IllegalStateException is thrown.

Note that OutboundMessageContext.setStreamProvider(org.glassfish.jersey.message.internal.OutboundMessageContext.StreamProvider) and optionally enableBuffering() must be called before calling this method.

Throws:
IOException - In the case of IO error.

getWriterInterceptors

public Iterable<javax.ws.rs.ext.WriterInterceptor> getWriterInterceptors()
Get writer interceptors of this request.

Returns:
Writer interceptors in the interceptor execution order.

getReaderInterceptors

public Iterable<javax.ws.rs.ext.ReaderInterceptor> getReaderInterceptors()
Get reader interceptors of this request.

Returns:
Reader interceptors in the interceptor execution order.


Copyright © 2007-2014, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.