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 XmlRpcException
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.
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 XmlRpcException
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. 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 XmlRpcException
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. 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.