Stanimir Stamenkov wrote:

/Stephen Kestle/:

Of course it is because Characters should not need to specify encoding, but xml IS NOT a character stream - it's an encoded character stream [...]


Don't want to spam the list but: XML _is_ a character stream. The byte encoded representation is for transport means as most data in the computer world is stored as sequences of bytes. Your sentence seems to me like: "DOM is not an object, it is an 'encoded' XML stream".

Ok - I sort of agree - the critical point I'm trying to make is that it's encoded (when it's valid). In Java, chars and Strings [IMO] infer decoded (ie. screen printable) characters.


Please stop the madness - just deprecate it and write a nice javadoc explaining why. You'll probably end up saving 1000s of developer hours on that change alone.


You know, I've thought of that many times too, but what if I need to write to a character buffer and not a byte one? I think it is just problem of the less experienced developers which doesn't realize what actually happens when encoding text to a byte stream and in particular serializing XML.

Well you can always wrap it! Why make something hard to use for people who are learning in favour of what should be exceptional (and advanced!) usage. But then, if you had to make a WriterOutputStream, you'd have to wonder why it hasn't been done before (as far as I can see). If you're serializing an object, you're about to make it external to the system - and there's no good reason to use a Character stream for this (which will export in the default encoding, unless you make it a stream of some sort...).

Most developers will expect it to return encoded data that is valid, never realising that their code is fragile and will break when someone puts some accidental value on a web screen. I can't see how this isn't broken - the serializer slaps a header on it which claims it's encoded - but it isn't!

When Date was found to be non-transportable, Sun deprecated a whole lot of stuff. Please follow common java conventions (both Writer vs Stream, and deprecation) and do the same.

In Summary: you are technically correct, but think about the social [developer] impact of maintaining an "I'm right" stance. End developers surely can't realistically complain about having to make a non-standard WriterOutputStream for a non-standard operation. Even the advanced users who would use this would have seen noob code that had to be cleaned up (as I have had to do)

But I am interested to know if there is a use case for this. Although I highly suspect that most use cases would be broken.

Thanks

Stephen


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to