It should work with streams, no doubt about it.  I think that there should be two 
separate
interfaces-- at least that's what I've usually done in such situations.  You can make 
a separate
Encoder and Decoder interface, and a Codec interface that extends them both.  That 
gives lots of
flexibility if you want to include everything in one class.

Check out com.sun.image.codec.jpeg; here they have separate encoder and decoder 
classes.  I read
that stuff a while back and it flavored my thinking.  Now check out out the classes in
com.sun.imageio .  Everything is readers and writers.  You may want to think about 
setting things
up this way, too (or at least providing interfaces in advance to point the way, so 
that everything
will grow nicely together).

Now, here's one more thing to think about: intermediate encodings.  I had to write 
some stuff
using IBM machine-translation engines a while back.  I remember thinking how dumb it 
was that one
needed to install a separate engine for every language pair.  Lots of pairs, as you 
can guess,
hadn't been implemented yet, but there were presumably thousands of IBM coders hard at 
work
implementing the n! engines necessary to supply comprehensive coverage for the world's 
languages. 
They all had different dictionaries, even.  After that (actually, even before that 
time), a lot of
focus in the translation-research community was put in the translation research 
community on
translating to an intermediate form.  Like microcrotch's CLR.  Maybe we can wrassle 
out (without
spending too too much time) a decent way of arranging that.

Jeff

--- Ola Berg <[EMAIL PROTECTED]> wrote:
> > > The codec package is very simple.  Right now it contains 3 encoders
> > > specifically geared towards language ( Soundex, RefinedSoundex, and
> > > Metaphone ).  It also contains a Base64 encoder and decoder.
> > >
> > > There is only one interface "Encoder" with one method  "public
> > > String encode(String pString)".  I think we need another interface
> > > "Decoder", with a similarly simple interface "public String decode(String
> > > pString)".
> 
> Hmm, I see a couple of issues with this.
> 
> 1) It encodes chunks, and not streams. This is a scalability issue.
> 
> 2) It is geared towards text. For Bootstring, I need arbitrary symbols.
> 
> 3) There is no need for another interface with identical signatures. Maybe a Codec 
>class that
> points out two "coders" (one encoder and one decoder).
> 
> For the short term, I think that a Punycode codec will do, and I will of course use 
>Encoder as
> you have put it.
> 
> /O
> 
> 
> 
> --
> To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
> 


__________________________________________________
Do you Yahoo!?
Yahoo! Web Hosting - Let the expert host your site
http://webhosting.yahoo.com

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

Reply via email to