org.apache.xindice.core.objects
Interface Reflectable
- All Known Subinterfaces:
- XMLObject
- All Known Implementing Classes:
- SimpleReflectable
- public interface Reflectable
Reflectable is the base interface for XMLObjects, allowing them to expose a
Reflector for performing method introspection and execution against the
Object.
Xindice will expose all public methods that match a valid signature.
The rules of this signature follow:
Result/Params: void (result only)
org.w3c.dom.Element (result only)
org.w3c.dom.Document (result only)
org.w3c.dom.DocumentFragment (result only)
native types (long, int, etc...)
java.lang.String
org.apache.xindice.core.objects.Variant
*NOTE: String, Variant, and all of the Java native types (long,
int, etc...) can also be passed as arrays of those types.
XMLObjects need to expose meta data so that a URI Query String (or any
other type of parameter set can be mapped to a method's arguments. This
is accomplished through the getReflector() method.
A typical URI for an Reflectable might be:
/Database/Collection/1234567/XMLObject/Method(Blah, Blah)
/Database/Collection/1234567/XMLObject/Method?red=Blah&green=Blah
Both forms will create a new Reflectable if neccessary, set any
required context information, and call a method in that object. The
first form passes the two arguments as-is, and the second maps the 'red'
parameter to the red argument, and the blue parameter to the blue
argument (regardless of method ordering).
Field Summary |
static java.lang.String[] |
NO_PARAMS
|
Method Summary |
Reflector |
getReflector()
getReflector returns the Reflectable Object's Reflector instance. |
org.w3c.dom.Document |
queryInterface()
queryInterface allows a client to query the Reflectable Object for
exposed methods. |
NO_PARAMS
public static final java.lang.String[] NO_PARAMS
getReflector
public Reflector getReflector()
- getReflector returns the Reflectable Object's Reflector instance.
- Returns:
- The Object's Reflector
queryInterface
public org.w3c.dom.Document queryInterface()
- queryInterface allows a client to query the Reflectable Object for
exposed methods.
- Returns:
- The Object's interface
Copyright (c) 1999-2001 The Apache Software Foundation