com.googlecode.xremoting.core
Class XRemotingProxyFactory

java.lang.Object
  extended by com.googlecode.xremoting.core.XRemotingProxyFactory

public class XRemotingProxyFactory
extends Object

Factory for proxy instances through which remote calls may be made.

Here's an example:

 XRemotingProxyFactory factory = new XRemotingProxyFactory("http://yourhost.com/your-service");
 YourService yourService = (YourService) factory.create(YourService.class);
 // now call any methods on yourService
 

There're basically two things you can parameterize: Requester and Serializer. For a Serializer, XStream-based serialization is the default. For Requester, the simplest implementation is HttpRequester which allows to invoke service exposed via HTTP (it is the default option for the simplest constructor XRemotingProxyFactory(String)).

If you need some of more sophisticated features of HTTP (like SSL or authentication), you may consider CommonsHttpClientRequester which gives access to the full power of HttpClient.

Author:
Roman Puchkovskiy
See Also:
Serializer, Requester, XStreamSerializer, HttpRequester, CommonsHttpClientRequester

Field Summary
protected  Requester requester
           
protected  Serializer serializer
           
 
Constructor Summary
XRemotingProxyFactory(Requester requester)
          Creates a factory with XStream-based serialization.
XRemotingProxyFactory(Requester requester, Class<? extends Serializer> serializerClass)
          Creates a factory with the given Serializer implementation class.
XRemotingProxyFactory(Requester requester, Serializer serializer)
          Creates a factory with the given Serializer.
XRemotingProxyFactory(Requester requester, String serializerClassName)
          Creates a factory with serialization implemented by class given by name.
XRemotingProxyFactory(Requester requester, String serializerClassName, ClassLoader spiClassLoader)
          Creates a factory with serialization implemented by class given by name, and loaded from the given classloader.
XRemotingProxyFactory(String url)
          Creates a factory with XStream-based serialization and simple HTTP-based transport.
 
Method Summary
 Object create(Class<?> iface)
          Creates a proxy for the given interface.
 Object create(Class<?>[] ifaces)
          Creates a proxy for the given interfaces.
 Object create(Class<?>[] ifaces, ClassLoader proxyLoader)
          Creates a proxy for the given interfaces.
 Object create(Class<?> iface, ClassLoader proxyLoader)
          Creates a proxy for the given interface.
protected  HttpConnectionFactory createDefaultHttpConnectionFactory()
           
protected  Requester createDefaultRequester(String url)
           
protected  Serializer createDefaultSerializer()
           
protected  Serializer createSerializer(Class<? extends Serializer> serializerClass)
           
protected  ClassLoader getDefaultClassLoader()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

serializer

protected Serializer serializer

requester

protected Requester requester
Constructor Detail

XRemotingProxyFactory

public XRemotingProxyFactory(String url)
Creates a factory with XStream-based serialization and simple HTTP-based transport.

Parameters:
url - service URL

XRemotingProxyFactory

public XRemotingProxyFactory(Requester requester)
Creates a factory with XStream-based serialization.

Parameters:
requester - requester to use

XRemotingProxyFactory

public XRemotingProxyFactory(Requester requester,
                             String serializerClassName)
Creates a factory with serialization implemented by class given by name. Default classloader will be used to load that class. Default classloader is determined like this:
  1. if context classloader is defined, it's used
  2. else classloader which loaded this class is used

Parameters:
requester - requester to use
serializerClassName - name of the Serializer implementation class

XRemotingProxyFactory

public XRemotingProxyFactory(Requester requester,
                             String serializerClassName,
                             ClassLoader spiClassLoader)
Creates a factory with serialization implemented by class given by name, and loaded from the given classloader.

Parameters:
requester - requester to use
serializerClassName - name of the Serializer implementation class
spiClassLoader - classloader from which to load Serializer implementation

XRemotingProxyFactory

public XRemotingProxyFactory(Requester requester,
                             Class<? extends Serializer> serializerClass)
Creates a factory with the given Serializer implementation class.

Parameters:
requester - requester to use
serializerClass - class of a Serializer implementation

XRemotingProxyFactory

public XRemotingProxyFactory(Requester requester,
                             Serializer serializer)
Creates a factory with the given Serializer.

Parameters:
requester - requester to use
serializer - serializer to use
Method Detail

create

public Object create(Class<?> iface)
Creates a proxy for the given interface. Default classloader will be used for proxy. Default classloader is determined like this:
  1. if context classloader is defined, it's used
  2. else classloader which loaded this class is used

Parameters:
iface - interface for which to create proxy
Returns:
proxy

create

public Object create(Class<?>[] ifaces)
Creates a proxy for the given interfaces. Default classloader will be used for proxy. Default classloader is determined like this:
  1. if context classloader is defined, it's used
  2. else classloader which loaded this class is used

Parameters:
ifaces - interfaces for which to create proxy
Returns:
proxy

create

public Object create(Class<?> iface,
                     ClassLoader proxyLoader)
Creates a proxy for the given interface.

Parameters:
iface - interface for which to create proxy
proxyLoader - classloader for proxy
Returns:
proxy

create

public Object create(Class<?>[] ifaces,
                     ClassLoader proxyLoader)
Creates a proxy for the given interfaces.

Parameters:
ifaces - interfaces for which to create proxy
proxyLoader - classloader for proxy
Returns:
proxy

createSerializer

protected Serializer createSerializer(Class<? extends Serializer> serializerClass)

getDefaultClassLoader

protected ClassLoader getDefaultClassLoader()

createDefaultSerializer

protected Serializer createDefaultSerializer()

createDefaultRequester

protected Requester createDefaultRequester(String url)

createDefaultHttpConnectionFactory

protected HttpConnectionFactory createDefaultHttpConnectionFactory()


Copyright © 2010. All Rights Reserved.