org.apache.xmlrpc.metadata
Interface XmlRpcListableHandlerMapping
- XmlRpcHandlerMapping
- AbstractReflectiveHandlerMapping, PropertyHandlerMapping
public interface XmlRpcListableHandlerMapping
A listable handler mapping is able to provide support for
XML-RPC meta data, as specified
here.
String[] | getListMethods()- This method implements the introspection method
system.listMethods, which is specified
as follows:
This method may be used to enumerate the methods implemented
by the XML-RPC server.
|
String | getMethodHelp(String pHandlerName)- This method implements the introspection method
system.methodSignature, which is specified
as follows:
This method takes one parameter, the name of a
method implemented by the XML-RPC server.
|
String[][] | getMethodSignature(String pHandlerName)- This method implements the introspection method
system.methodSignature, which is specified
as follows:
This method takes one parameter, the name of a method
implemented by the XML-RPC server.
|
getListMethods
public String[] getListMethods()
throws XmlRpcExceptionThis method implements the introspection method
system.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 not
XmlRpcMetaDataHandler, should possibly excluded:
Otherwise, the listable handler mapping could not provide
meaningful replies to
system.methodSignature,
and
system.methodHelp.
getMethodHelp
public String getMethodHelp(String pHandlerName)
throws XmlRpcExceptionThis method implements the introspection method
system.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.
getMethodSignature
public String[][] getMethodSignature(String pHandlerName)
throws XmlRpcExceptionThis method implements the introspection method
system.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.
Copyright © 2001-2007 Apache Software Foundation. All Rights Reserved.