01: package uk.org.ponder.saxalizer;
02:
03: /** The SAXalizable interface is implemented by any object wishing
04: * to call on the services of the SAXalizer class for serialization
05: * from a SAX stream. The interface requires the object to report
06: * a list of set methods suitable for attaching subobjects discovered
07: * in the stream. */
08:
09: public interface SAXalizable {
10: // SAXAccessMethodSpec[] getSAXGetMethods();
11:
12: /** This method returns a list of <code>set</code> methods which the <code>SAXalizer</code>
13: * will call when it sees subtags of the tag corresponding to this object.
14: * The <code>SAXalizer</code> will call this method on one object of each
15: * <code>SAXalizable</code> class that it determines corresponds to an XML
16: * tag seen in the SAX stream.
17: * <p>The returned array of method specifications has an entry specifying the
18: * XML tagname, method name and return type of each suitable set method of this
19: * class. The <code>SAXalizer</code> will use reflection to locate and invoke
20: * the specified method, so it must be a public method of a public class.
21: *
22: * @return An array of set method specifications; <code>null</code> is allowed if
23: * there are no such set methods.
24: */
25: SAXAccessMethodSpec[] getSAXSetMethods();
26: }
|