The Spring Framework

## org.springframework.remoting.support
Class RemoteInvocation

    java.lang.Object
      org.springframework.remoting.support.RemoteInvocation

All Implemented Interfaces:
  Serializable

    public class RemoteInvocation

extends Object
implements Serializable

Encapsulates a remote invocation, providing core method invocation properties in a serializable fashion. Used for RMI and HTTP-based serialization invokers.

This is an SPI class, typically not used directly by applications. Can be subclassed for additional invocation parameters.

Since:
  25.02.2004
Author:
  Juergen Hoeller
See Also:
  `RemoteInvocationResult`, `RemoteInvocationFactory`, `RemoteInvocationExecutor`, `RmiProxyFactoryBean`, `RmiServiceExporter`, `HttpInvokerProxyFactoryBean`, `HttpInvokerServiceExporter`, Serialized Form

Constructor Summary
`RemoteInvocation()` Create a new RemoteInvocation for use as JavaBean.
`RemoteInvocation(MethodInvocation methodInvocation)` Create a new RemoteInvocation for the given AOP method invocation.
`RemoteInvocation(String methodName, Class[] parameterTypes, Object[] arguments)` Create a new RemoteInvocation for the given parameters.

Method Summary
`void` `addAttribute(String key, Serializable value)` Add an additional invocation attribute.
`Object[]` `getArguments()` Return the arguments for the target method call.
`Serializable` `getAttribute(String key)` Retrieve the attribute for the given key, if any.
`Map` `getAttributes()` Return the attributes Map.
`String` `getMethodName()` Return the name of the target method.
`Class[]` `getParameterTypes()` Return the parameter types of the target method.
`Object` `invoke(Object targetObject)` Perform this invocation on the given target object.
`void` `setArguments(Object[] arguments)` Set the arguments for the target method call.
`void` `setAttributes(Map attributes)` Set the attributes Map.
`void` `setMethodName(String methodName)` Set the name of the target method.
`void` `setParameterTypes(Class[] parameterTypes)` Set the parameter types of the target method.
`String` `toString()`

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

Constructor Detail

### RemoteInvocation

    public RemoteInvocation()

  Create a new RemoteInvocation for use as JavaBean.

### RemoteInvocation

    public RemoteInvocation(String methodName,
                            Class[] parameterTypes,
                            Object[] arguments)

  Create a new RemoteInvocation for the given parameters.

  Parameters:
    `methodName` - the name of the method to invoke
    `parameterTypes` - the parameter types of the method
    `arguments` - the arguments for the invocation

### RemoteInvocation

    public RemoteInvocation(MethodInvocation methodInvocation)

  Create a new RemoteInvocation for the given AOP method invocation.

  Parameters:
    `methodInvocation` - the AOP invocation to convert

Method Detail

### setMethodName

    public void setMethodName(String methodName)

  Set the name of the target method.

### getMethodName

    public String getMethodName()

  Return the name of the target method.

### setParameterTypes

    public void setParameterTypes(Class[] parameterTypes)

  Set the parameter types of the target method.

### getParameterTypes

    public Class[] getParameterTypes()

  Return the parameter types of the target method.

### setArguments

    public void setArguments(Object[] arguments)

  Set the arguments for the target method call.

### getArguments

    public Object[] getArguments()

  Return the arguments for the target method call.

### addAttribute

    public void addAttribute(String key,
                             Serializable value)
                      throws IllegalStateException

  Add an additional invocation attribute. Useful to add additional invocation context without having to subclass RemoteInvocation.

  Attribute keys have to be unique, and no overriding of existing attributes is allowed.

  The implementation avoids to unnecessarily create the attributes Map, to minimize serialization size.

  Parameters:
    `key` - the attribute key
    `value` - the attribute value
  Throws:
    `IllegalStateException` - if the key is already bound

### getAttribute

    public Serializable getAttribute(String key)

  Retrieve the attribute for the given key, if any.

  The implementation avoids to unnecessarily create the attributes Map, to minimize serialization size.

  Parameters:
    `key` - the attribute key
  Returns:
    the attribute value, or `null` if not defined

### setAttributes

    public void setAttributes(Map attributes)

  Set the attributes Map. Only here for special purposes: Preferably, use `addAttribute(java.lang.String, java.io.Serializable)` and `getAttribute(java.lang.String)`.

  Parameters:
    `attributes` - the attributes Map
  See Also:
    `addAttribute(java.lang.String, java.io.Serializable)`, `getAttribute(java.lang.String)`

### getAttributes

    public Map getAttributes()

  Return the attributes Map. Mainly here for debugging purposes: Preferably, use `addAttribute(java.lang.String, java.io.Serializable)` and `getAttribute(java.lang.String)`.

  Returns:
    the attributes Map, or `null` if none created
  See Also:
    `addAttribute(java.lang.String, java.io.Serializable)`, `getAttribute(java.lang.String)`

### invoke

    public Object invoke(Object targetObject)
                  throws NoSuchMethodException,
                         IllegalAccessException,
                         InvocationTargetException

  Perform this invocation on the given target object. Typically called when a RemoteInvocation is received on the server.

  Parameters:
    `targetObject` - the target object to apply the invocation to
  Returns:
    the invocation result
  Throws:
    `NoSuchMethodException` - if the method name could not be resolved
    `IllegalAccessException` - if the method could not be accessed
    `InvocationTargetException` - if the method invocation resulted in an exception
  See Also:
    `Method.invoke(java.lang.Object, java.lang.Object...)`

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

The Spring Framework

Copyright © 2002-2008 The Spring Framework.