[
Lists Home |
Date Index |
Thread Index
]
- From: Miles Sabin <msabin@cromwellmedia.co.uk>
- To: xml-dev@xml.org
- Date: Mon, 6 Mar 2000 20:08:11 -0000
David Brownell wrote,
> I want the "get the default parser" factory methods to permit
> using environment-specific intelligence, rather than to
> preclude it as you now do. (I'm not sure what you mean by
> "shadow".)
>
> That's "just" a specification change, not a syntax change.
Sure, but it's not easy to see how to turn that into code which
David can implement. I have no wish to see SAX2 specify the
existence of a non-abstract method on a concrete class without
specifying an implementation ... that way madness lies.
And there's really no need for it either. If you want something
_really_ lightweight, how about,
public class XMLReaderFactory
{
private static XMLReaderFactory theDefaultFactory =
new XMLReaderFactory();
public static synchronized XMLReader getInstance()
throws SAXException
{
return theDefaultFactory.createReader();
}
public static synchronized void setDefaultReaderFactory
(XMLReaderFactory factory)
{
theDefaultFactory = factory;
}
public createXMLReader()
throws SAXException
{
// create a reader using the org.xml.sax.parser
// System property
}
}
Now you're free to extend XMLReaderFactory to use 'environment-
specific intelligence' and install an instance with the base
class.
This might be a little _too_ lightweight for some peoples
tastes (it certainly is for mine) ... I'd prefer at least an
interface/implementation pair rather than a single concrete
class ... but minimal is all we seem to have time for,
allegedly.
Cheers,
Miles
--
Miles Sabin Cromwell Media
Internet Systems Architect 5/6 Glenthorne Mews
+44 (0)20 8817 4030 London, W6 0LJ, England
msabin@cromwellmedia.com http://www.cromwellmedia.com/
***************************************************************************
This is xml-dev, the mailing list for XML developers.
To unsubscribe, mailto:majordomo@xml.org&BODY=unsubscribe%20xml-dev
List archives are available at http://xml.org/archives/xml-dev/
***************************************************************************
|