dbXML API

## org.dbxml.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.
dbXML 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.dbxml.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.

Field Detail

### NO_PARAMS

    public static final java.lang.String[] NO_PARAMS

Method Detail

### 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

dbXML API

Copyright (c) 1999-2001 The dbXML Group, All rights reserved