Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.codehaus.aspectwerkz.connectivity
Class RemoteProxy

    java.lang.Object
      org.codehaus.aspectwerkz.connectivity.RemoteProxy

All Implemented Interfaces:
  Serializable, InvocationHandler

    public class RemoteProxy

extends Object
implements InvocationHandler, Serializable

This class provides a general remote proxy. It uses the Dynamic Proxy mechanism that was introduced with JDK 1.3.

The client proxy sends all requests to a server via a socket connection. The server returns results in the same way. Every object that is transferred (i.e. result of method invocation) has to support the Serializable interface.

Author:
  Jonas Bonr
See Also:
  Serialized Form

Method Summary
`void` | `close()` Closes the proxy and the connection to the server.
`static RemoteProxy` | `createClientProxy(String[] interfaces, String impl, String address, int port)` Creates a new proxy to a class.
`static RemoteProxy` | `createClientProxy(String[] interfaces, String impl, String address, int port, ClassLoader loader)` Creates a new proxy to a class.
`static RemoteProxy` | `createClientProxy(String[] interfaces, String impl, String address, int port, Object context)` Creates a new proxy to a class.
`static RemoteProxy` | `createClientProxy(String[] interfaces, String impl, String address, int port, Object context, ClassLoader loader)` Creates a new proxy to a class.
`static RemoteProxy` | `createServerProxy(Object targetlInstance, String address, int port)` Creates a proxy to a specific instance in the on the server side.
`Object` | `getInstance()` Look up and retrives a proxy to an object from the server.
`Object` | `getInstance(ClassLoader loader)` Look up and retrives a proxy to an object from the server.
`static Object` | `getWrappedInstance(String handle)` Returns a proxy wrapped instance by its handle.
`Object` | `invoke(Object proxy, Method method, Object[] args)` This method is invoked automatically by the proxy.
`static String` | `wrapInstance(Object instance)` Wraps a new instance and maps it to a handle.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Method Detail

### createClientProxy

    public static RemoteProxy createClientProxy(String[] interfaces,
                                                String impl,
                                                String address,
                                                int port)

  Creates a new proxy to a class. To be used on the client side to create a new proxy to an object.

  Parameters:
    `interfaces` - the class name of the interface for the object to create the proxy for
    `impl` - the class name of the the object to create the proxy for
    `address` - the address to connect to.
    `port` - the port to connect to.
  Returns:
    the new remote proxy instance

### createClientProxy

    public static RemoteProxy createClientProxy(String[] interfaces,
                                                String impl,
                                                String address,
                                                int port,
                                                Object context)

  Creates a new proxy to a class. To be used on the client side to create a new proxy to an object.

  Parameters:
    `interfaces` - the class name of the interface for the object to create the proxy for
    `impl` - the class name of the the object to create the proxy for
    `address` - the address to connect to.
    `port` - the port to connect to.
    `context` - the context carrying the users principal and credentials
  Returns:
    the new remote proxy instance

### createClientProxy

    public static RemoteProxy createClientProxy(String[] interfaces,
                                                String impl,
                                                String address,
                                                int port,
                                                ClassLoader loader)

  Creates a new proxy to a class. To be used on the client side to create a new proxy to an object.

  Parameters:
    `interfaces` - the class name of the interface for the object to create the proxy for
    `impl` - the class name of the the object to create the proxy for
    `address` - the address to connect to.
    `port` - the port to connect to.
    `loader` - the class loader to use
  Returns:
    the new remote proxy instance

### createClientProxy

    public static RemoteProxy createClientProxy(String[] interfaces,
                                                String impl,
                                                String address,
                                                int port,
                                                Object context,
                                                ClassLoader loader)

  Creates a new proxy to a class. To be used on the client side to create a new proxy to an object.

  Parameters:
    `interfaces` - the class name of the interface for the object to create the proxy for
    `impl` - the class name of the the object to create the proxy for
    `address` - the address to connect to.
    `port` - the port to connect to.
    `ctx` - the context carrying the users principal and credentials
    `loader` - the class loader to use
  Returns:
    the new remote proxy instance

### createServerProxy

    public static RemoteProxy createServerProxy(Object targetlInstance,
                                                String address,
                                                int port)

  Creates a proxy to a specific instance in the on the server side. This proxy could then be passed to the client which can invoke method on this specific instance .

  Parameters:
    `the` - target instance to create the proxy for
    `address` - the address to connect to.
    `port` - the port to connect to.
  Returns:
    the new remote proxy instance

### getInstance

    public Object getInstance(ClassLoader loader)

  Look up and retrives a proxy to an object from the server.

  Parameters:
    `loader` - the classloader to use
  Returns:
    the proxy instance

### getInstance

    public Object getInstance()

  Look up and retrives a proxy to an object from the server.

  Returns:
    the proxy instance

### invoke

    public Object invoke(Object proxy,
                         Method method,
                         Object[] args)

  This method is invoked automatically by the proxy. Should not be called directly.

  Specified by:
    `invoke` in interface `InvocationHandler`
  Parameters:
    `proxy` - the proxy instance that the method was invoked on
    `method` - the Method instance corresponding to the interface method invoked on the proxy instance.
    `args` - an array of objects containing the values of the arguments passed in the method invocation on the proxy instance.
  Returns:
    the value to return from the method invocation on the proxy instance.

### close

    public void close()

  Closes the proxy and the connection to the server.

### getWrappedInstance

    public static Object getWrappedInstance(String handle)

  Returns a proxy wrapped instance by its handle.

  Parameters:
    `handle` - the handle
  Returns:
    the instance

### wrapInstance

    public static String wrapInstance(Object instance)

  Wraps a new instance and maps it to a handle.

  Parameters:
    `instance` - the instance to wrap
  Returns:
    the handle for the instance

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2002-2005 Jonas Bonér, Alexandre Vasseur. All Rights Reserved.