de.dfki.util.xmlrpc.server
Class DefaultInvocationInterceptor

java.lang.Object
  extended by de.dfki.util.xmlrpc.server.DefaultInvocationInterceptor
All Implemented Interfaces:
InvocationInterceptor

public class DefaultInvocationInterceptor
extends java.lang.Object
implements InvocationInterceptor

Default implementation for the InvocationInterceptor interface.

Method parameters are converted from XML-RPC representation into user-representation needed for the API call. The return value is converted back to XML-RPC representation.

Calls of methods of class java.lang.Object are not allowed.

Author:
lauer

Constructor Summary
DefaultInvocationInterceptor()
           
 
Method Summary
protected  java.lang.Object[] adaptParameters(MethodSignature methodSig, java.lang.Object[] xmlRpcParams)
           
 java.lang.Object invokeMethod(java.lang.Object delegate, java.lang.String methodName, java.lang.Class<?>[] xmlRpcSignature, java.lang.Object[] args)
          needed in case the api defines parameter converter mappings.
static java.util.logging.Logger log()
           
protected  java.lang.reflect.Method lookupMethod(java.lang.Object delegate, java.lang.String methodName, java.lang.Class<?>[] xmlRpcSignature)
           
protected  java.util.Collection<java.lang.reflect.Method> lookupMethods(java.lang.Object delegate, java.lang.String methodName, java.lang.Class<?>[] xmlRpcSignature)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultInvocationInterceptor

public DefaultInvocationInterceptor()
Method Detail

log

public static java.util.logging.Logger log()

invokeMethod

public java.lang.Object invokeMethod(java.lang.Object delegate,
                                     java.lang.String methodName,
                                     java.lang.Class<?>[] xmlRpcSignature,
                                     java.lang.Object[] args)
                              throws java.lang.Throwable
needed in case the api defines parameter converter mappings.

Specified by:
invokeMethod in interface InvocationInterceptor
Throws:
java.lang.Throwable

lookupMethod

protected java.lang.reflect.Method lookupMethod(java.lang.Object delegate,
                                                java.lang.String methodName,
                                                java.lang.Class<?>[] xmlRpcSignature)
                                         throws java.lang.NoSuchMethodException
Throws:
java.lang.NoSuchMethodException

lookupMethods

protected java.util.Collection<java.lang.reflect.Method> lookupMethods(java.lang.Object delegate,
                                                                       java.lang.String methodName,
                                                                       java.lang.Class<?>[] xmlRpcSignature)
                                                                throws java.lang.NoSuchMethodException
Throws:
java.lang.NoSuchMethodException

adaptParameters

protected java.lang.Object[] adaptParameters(MethodSignature methodSig,
                                             java.lang.Object[] xmlRpcParams)
                                      throws TypeConversionException
Throws:
TypeConversionException


Copyright © 2012. All Rights Reserved.