'
Oi pessoal!
Encontrei um problema interessante no projeto em que estou
trabalhando, ser� que algu�m tem alguma sugest�o? Minha inten��o
era fazer uma classe assim, s� que n�o funciona:
class MessageOutputStream extends ObjectOutputStream {
private ByteArrayOutputStream _bos;
MessageOutputStream() throws java.io.IOException {
super(_bos = new ByteArrayOutputStream()); // ERRO!
}
}
Todas as outras solu��es semelhantes que eu consegui imaginar
tamb�m n�o funcionam, como essa por exemplo:
class MessageOutputStream extends ObjectOutputStream {
private ByteArrayOutputStream _bos;
MessageOutputStream() throws java.io.IOException {
ByteArrayOutputStream tmp = new ByteArrayOutputStream();
super(tmp); // ERRO!
_bos = tmp;
}
}
Na verdade, existe uma �nica variante que funciona, mas �
uma p�ssima solu��o:
class MessageOutputStream extends ObjectOutputStream {
static ByteArrayOutputStream tmp;
private ByteArrayOutputStream _bos;
MessageOutputStream() throws java.io.IOException {
super(tmp = new ByteArrayOutputStream());
_bos = tmp;
}
}
Por isso, a solu��o que eu acabei adotando foi deixar parte
da inicializa��o para ser feita pelo "cliente" da classe:
class MessageOutputStream extends ObjectOutputStream {
private ByteArrayOutputStream _bos;
MessageOutputStream(ByteArrayOutputStream bos)
throws java.io.IOException {
super(bos);
_bos = bos;
}
}
Em todo caso, se algu�m tiver alguma id�ia de como implementar
minha inten��o original, eu agrade�o. Eu acho que n�o tem muito jeito,
mas n�o custa nada perguntar...
Um abra�o,
Einar Saukas
Technical Consultant
Summa Technologies, Inc.
http://www.summa-tech.com
--------------------------- LISTA SOUJAVA ---------------------------
http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP
[para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
---------------------------------------------------------------------