Double Indirection in DOMImplementationRegistry

In the Java bootstrapping code included in the latest DOM Level 3 core
draft, I'm trying to understand why there's an additional layer of
indirection. Currently org.w3c.dom.DOMImplementationSourceList contains
a list of DOMImplementationSource objects which are responsible for
finding the DOMImplementation classes that provide certain features.
What does this gain vis-a-vis a org.w3c.dom.DOMImplementation property
that contains a list of DOMImplementation classes? Why add the
additional indirection? At first, I thought this was so
DOMImplementationSource could match feature requests with particular
DOMImplementations, but this logic could easily fit into
DOMImplementationRegistry.getDOMImplementation(). Why add the extra
class? What does DOMImplementationSource buy DOM?

-- 
+-----------------------+------------------------+-------------------+
| Elliotte Rusty Harold | elharo@metalab.unc.edu | Writer/Programmer |
+-----------------------+------------------------+-------------------+ 
|               Java I/O (O'Reilly & Associates, 1999)               |
|            http://www.ibiblio.org/javafaq/books/javaio/            |
|   http://www.amazon.com/exec/obidos/ISBN=1565924851/cafeaulaitA/   |
+----------------------------------+---------------------------------+
|  Read Cafe au Lait for Java News:  http://www.cafeaulait.org/      | 
|  Read Cafe con Leche for XML News: http://www.ibiblio.org/xml/     |
+----------------------------------+---------------------------------+

Received on Sunday, 20 January 2002 12:13:25 UTC