RE: multiple handlers

Nick Drew (drewn@icomm.co.uk)
Tue, 24 Feb 1998 15:10:03 -0000


<..stuff deleted...>
During the last round, most people vetoed this idea. Here it is
again, though, for your consideration:

package org.xml.sax;
import java.io.InputStream;

public interface Parser {

public void addEntityHandler (EntityHandler handler);
public void removeEntityHandler (EntityHandler handler);

public void addDocumentHandler (DocumentHandler handler);
public void removeDocumentHandler (DocumentHandler handler);

public void addErrorHandler (ErrorHandler handler);
public void removeErrorHandler (ErrorHandler handler);

public void parse (String publicId, String systemId)
throws java.lang.Exception;

public void parse (String publicId, String systemId,
InputStream inputStream)
throws java.lang.Exception;

}

Any further thoughts on this issue?

Apologies in advance: I'm quite new to the list, so missed this =
discussion first time around.=20

It seems that the above suggestion isn't essential. Perhaps there =
should be a standardised MulticastEntityHandler, =
MulticastDocumentHandler, and MulticastErrorHandler, which can be used =
instead, e.g.

{
...
MulticastDocumentHandler mdocHandler =3D new =
MyMulticastDocumentHandler();
mdocHandler.addHandler( new ExistingDocumentHandler() );
mdocHandler.addHandler( new AnotherExistingDocumentHandler() );

...
iParser.setEntityHandler( mdocHandler );
...
}

and the MulticastDocumentHandler just delegates to its members as =
needed.

Nick Drew
icomm technologies ltd.