public class WebHubXmlRpcHandler extends ActorHandler
| Constructor and Description | 
|---|
| WebHubXmlRpcHandler(ClientProfile profile,
                   ClientAuthorizer auth,
                   KeyGenerator keyGen,
                   URL baseUrl,
                   UrlTracker urlTracker)Constructor. | 
| Modifier and Type | Method and Description | 
|---|---|
| HttpServer.Handler | getUrlTranslationHandler()Returns a handler suitable for performing URL translations on behalf
 of sandboxed clients as required by the Web Profile. | 
| Object | handleCall(String fqName,
          List params,
          Object reqObj)Processes an XML-RPC call. | 
| protected Object | invokeMethod(Method method,
            Object obj,
            Object[] args)Invokes a method reflectively on an object. | 
canHandleCall, getActorpublic WebHubXmlRpcHandler(ClientProfile profile, ClientAuthorizer auth, KeyGenerator keyGen, URL baseUrl, UrlTracker urlTracker)
profile - hub connection factoryauth - client authorizerkeyGen - key generator for private keysbaseUrl - base URL of HTTP server, used for URL translationurlTracker - tracks URLs in messages to restrict use in URL
         translation service for security reasons; may be null for
         no restrictionspublic Object handleCall(String fqName, List params, Object reqObj) throws Exception
SampXmlRpcHandlercanHandleCall(method) returns true.
 The params list and the return value must be 
 SAMP-compatible, that is only Strings, Lists and String-keyed Maps
 are allowed in the data structures.
 The reqInfo parameter may be used to provide additional
 information about the XML-RPC request, for instance the originating
 host; this is implementation specific, and may be null.handleCall in interface SampXmlRpcHandlerhandleCall in class ActorHandlerfqName - XML-RPC method nameparams - XML-RPC parameter list (SAMP-compatible)reqObj - optional additional request information; may be nullExceptionpublic HttpServer.Handler getUrlTranslationHandler()
protected Object invokeMethod(Method method, Object obj, Object[] args) throws IllegalAccessException, InvocationTargetException
ActorHandlerreturn method.invoke(obj,params).
 If the implementation is effectively prescribed, why is this
 abstract method here?  It's tricky.
 The reason is so that reflective method invocation from this class
 is done by code within the actor implementation class itself
 rather than by code in the superclass, ActorHandler.
 That in turn means that the actorType class specified
 in the constructor does not need to be visible from 
 ActorHandler's package, only from the package where
 the implementation class lives.
invokeMethod in class ActorHandlermethod - method to invokeobj - object to invoke the method onargs - arguments for the method callIllegalAccessExceptionInvocationTargetExceptionMethod.invoke(java.lang.Object, java.lang.Object...)Copyright © 2008–2024. All rights reserved.