From: Elliotte Rusty Harold <elharo@me...> - 2004-03-08 16:19:30
At 10:49 AM -0500 3/8/04, Karl Waclawek wrote:
>Well, obviously, any initialization or cleanup methods would have to
>be exposed, that was the point about adding a parsingDone() method.
>I guess there was a misunderstanding.
I would prefer to avoid adding methods to the API when methods
already exist that serve this purpose, even if their names aren't
>If I use a Stream, then I should close it at the end.
>Does that mean the Stream class has a bad API?
No, in the stream API the behavior of each method is well-defined
irrespective of order. If you call don't call close() at the end,
nothing bad happens. If you call close at the beginning the
read()/write() methods still behave as documented. No method fails to
do its job simply because its called before or after another method.
The larger program that uses the class may depend on a specific order
of method invocations. However, the class itself exposes only atomic
>The contentHandler would still do its own cleanup.
>Just not throught endDocument(), which should serve a different purpose.
I'm not sure we need two methods here.
Elliotte Rusty Harold
Effective XML (Addison-Wesley, 2003)
Get latest updates about Open Source Projects, Conferences and News.