package org.jboss.resteasy.client.cache;

import org.jboss.resteasy.client.core.ClientInterceptorRepository;
import org.jboss.resteasy.client.core.ClientInvoker;
import org.jboss.resteasy.client.core.ClientInvokerModifier;
import org.jboss.resteasy.client.core.marshallers.ResteasyClientProxy;

Author:Bill Burke
See Also:
  • ResteasyClient
Version:$Revision: 1 $
Deprecated:Caching in the Resteasy client framework in resteasy-jaxrs is replaced by caching in the JAX-RS 2.0 compliant resteasy-client module.
/** * @author <a href="mailto:bill@burkecentral.com">Bill Burke</a> * @version $Revision: 1 $ * * @deprecated Caching in the Resteasy client framework in resteasy-jaxrs is replaced by * caching in the JAX-RS 2.0 compliant resteasy-client module. * * @see org.jboss.resteasy.client.jaxrs.ResteasyClient */
@Deprecated public class CacheFactory {
Makes the client proxy cacheable. Returns the cache that will hold returned values from the server.
Params:
  • clientProxy –
Returns:
/** * Makes the client proxy cacheable. Returns the cache that will hold * returned values from the server. * * @param clientProxy * @return */
public static LightweightBrowserCache makeCacheable(Object clientProxy) { LightweightBrowserCache cache = new LightweightBrowserCache(); makeCacheable(clientProxy, cache); return cache; }
Makes the client proxy cacheable. This method allows you to pass in a shared cache that the proxy should use
Params:
  • clientProxy –
  • cache –
/** * Makes the client proxy cacheable. This method allows you to pass in a * shared cache that the proxy should use * * @param clientProxy * @param cache */
public static void makeCacheable(Object clientProxy, BrowserCache cache) { final CacheInterceptor interceptor = new CacheInterceptor(cache); ResteasyClientProxy proxy = (ResteasyClientProxy) clientProxy; proxy.applyClientInvokerModifier(new ClientInvokerModifier() { public void modify(ClientInvoker invoker) { if (invoker.getHttpMethod().equalsIgnoreCase("GET")) { invoker.getExecutionInterceptorList().addFirst(interceptor); } } }); }
Make a raw ClientRequest cache results in the provided cache.
Params:
  • cache –
/** * Make a raw ClientRequest cache results in the provided cache. * * @param cache */
public static void makeCacheable( ClientInterceptorRepository interceptorRepository, BrowserCache cache) { interceptorRepository.getExecutionInterceptorList().addFirst( new CacheInterceptor(cache)); } }