Interface XmlRpcListableHandlerMapping
-
- All Superinterfaces:
XmlRpcHandlerMapping
- All Known Implementing Classes:
AbstractReflectiveHandlerMapping
,PropertyHandlerMapping
public interface XmlRpcListableHandlerMapping extends XmlRpcHandlerMapping
A listable handler mapping is able to provide support for XML-RPC meta data, as specified here.- See Also:
- Specification of XML-RPC introspection
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.lang.String[]
getListMethods()
This method implements the introspection methodsystem.listMethods
, which is specified as follows:java.lang.String
getMethodHelp(java.lang.String pHandlerName)
This method implements the introspection methodsystem.methodSignature
, which is specified as follows:java.lang.String[][]
getMethodSignature(java.lang.String pHandlerName)
This method implements the introspection methodsystem.methodSignature
, which is specified as follows:-
Methods inherited from interface org.apache.xmlrpc.server.XmlRpcHandlerMapping
getHandler
-
-
-
-
Method Detail
-
getListMethods
java.lang.String[] getListMethods() throws XmlRpcException
This method implements the introspection methodsystem.listMethods
, which is specified as follows:This method may be used to enumerate the methods implemented by the XML-RPC server.
The
system.listMethods
method requires no parameters. It returns an array of strings, each of which is the name of a method implemented by the server.Note, that the specification doesn't require that the list must be exhaustive. We conclude, that a valid method "handlerName" doesn't need to be in the list. For example, a handler, which implements
XmlRpcHandler
, but notXmlRpcMetaDataHandler
, should possibly excluded: Otherwise, the listable handler mapping could not provide meaningful replies tosystem.methodSignature
, andsystem.methodHelp
.- Throws:
XmlRpcException
- An internal error occurred.
-
getMethodSignature
java.lang.String[][] getMethodSignature(java.lang.String pHandlerName) throws XmlRpcException
This method implements the introspection methodsystem.methodSignature
, which is specified as follows:This method takes one parameter, the name of a method implemented by the XML-RPC server. It returns an array of possible signatures for this method. A signature is an array of types. The first of these types is the return type of the method, the rest are parameters.
Multiple signatures (ie. overloading) are permitted: this is the reason that an array of signatures are returned by this method.
Signatures themselves are restricted to the top level parameters expected by a method. For instance if a method expects one array of structs as a parameter, and it returns a string, its signature is simply "string, array". If it expects three integers, its signature is "string, int, int, int".
If no signature is defined for the method, a none-array value is returned. Therefore this is the way to test for a non-signature, if $resp below is the response object from a method call to system.methodSignature:
$v=$resp->value(); if ($v->kindOf()!="array") { // then the method did not have a signature defined }
See the introspect.php demo included in this distribution for an example of using this method.- Throws:
XmlRpcException
- See Also:
XmlRpcMetaDataHandler.getSignatures()
-
getMethodHelp
java.lang.String getMethodHelp(java.lang.String pHandlerName) throws XmlRpcException
This method implements the introspection methodsystem.methodSignature
, which is specified as follows:This method takes one parameter, the name of a method implemented by the XML-RPC server. It returns a documentation string describing the use of that method. If no such string is available, an empty string is returned.
The documentation string may contain HTML markup.
- Throws:
XmlRpcException
-
-