Community
Participate
Working Groups
ErrorParserManager exposes strange API because it extends OutputStream. This was probably done to enable sharing of information between the stream part of the class and the manager part. This can lead to a number of weird programmer errors. For example, calling ErrorParserManager.close() interferes with the reference counting for ErrorParserManager.getOutputStream(). close() is actually part of the OutputStream API and shouldn't be called on an ErrorParserManager instance. But close() is exposed (along with write() and everything on OutputStream). I'm proposing to separate the OutputStream functionality into a separate class, whether top-level or internal. This will break existing IErrorParsers which use ErrorParserManager in an undesirable way. This is probably a good thing. Nonetheless, it's still a breaking API change. Any objections?
This isn't technically a duplicate of bug 203727 but the patch that's been posted for it address all the issues I've raised for this bug. *** This bug has been marked as a duplicate of bug 203727 ***