Para você dizer que uma classe sua é serializável, basta implementar a
interface java.io.Serializable, que não têm nenhum método.

Se você estiver usando uma estrutura de dados complexa, você pode dizer como
serializar sua classe atravez da implementação da interface
java.io.Externalizable, o que lhe obrigará a escrever os métodos
readExternal e writeExternal.


Raramente é necessária a escrita destes métodos. Te aconselho à colocar
"implements java.io.Serializable" em todas suas classe que fazem parte desta
serialização. O Runtime de java irá tomar conta de toda a Serialização,
desde que os membros agregados também sejam serializados.


Por exemplo....


public class NotaFiscal implements java.io.Serializable {
    private String valor1; // A serialização de NotaFiscal vai funcionar
pois String é Serializável
    private String valor2; // A serialização de NotaFiscal vai funcionar
pois String é Serializável

    private java.util.Vector items = new Vector(); // A serialização de
NotaFiscal vai funcionar pois Vector é Serializável (desde que os elementos
dentro do vetor também o sejam).

    public void addItem(ItemNF item) {
        items.addElement(item);
    }


}

public class ItemNF implements java.io.Serializable {
    private String codigoItem;
    private double valorItem;
    private Produto produto; // a idéia é análoga... Se Produto for
Serializável, irá funcionar.
}


Veja que bonito.... Se Você Serializar NotaFiscal, Os Elementos dentro do
Vetor que serão do tipo ItemNF serão Serializados em conjunto. Os elementos
de Produto, que estiverem dentro de ItemNF também serão serializados.
Inclusive haverá o controle das instâncias, ou seja. Se todos os ítems foram
a mesma instância, o Runtime respeitará isto, criando apenas uma única
instância. Este parágrafo é bem profundo, e é interessante estudar sobre
isto para quem está pensando em pegar a certificação.


Clebert



----- Original Message -----
From: "Antonio Kantek" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, November 20, 2001 12:27 PM
Subject: Re: [java-list] serializing the unserializable... :)


> Você vai ter que fazer a sua própria serialização. É o mesmo problema
quando
> você tem uma classe que implementa a interface Remote e você quer
> serializá-la.
> ----- Original Message -----
> From: "Herval Freire" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Monday, November 19, 2001 10:37 PM
> Subject: [java-list] serializing the unserializable... :)
>
>
> Alohá,
>
> Creio q esta pergunta nunca foi postada na lista, portanto gostaria de
> iluminacao a respeito.
>
> Pretendo serializar um objeto meu (herdado de object), que EH
> serializavel. No entanto, um dos seus membros NAO eh: um objeto da classe
> Image.
> Como proceder para a serializacao? Na documentacao fala algo sobre
> sobrescrever dois metodos (writeObject e readObject), no entanto nao deixa
> muito claro e eu nao tive nenhuma boa ideia ainda :P
>
> Pra referencia, a classe ficticia seria:
>
> public class MinhaClasse implements Serializable {
>    private String meuString;
>    private Image myImage; // Image nao eh serializavel.. nem
BufferedImage,
> subclasse dela
> }
>
>
> Como fazer??
>
>
> agradeco qquer ajuda
>
> []s
> -------------------------------------------------
> ----------- Herval Freire de A. Júnior ----------
> ----------- mailto:[EMAIL PROTECTED] ------------
> --------- http://www.herval.hpg.com.br ----------
> ----------------- UIN: 2067270 ------------------
> -------------------------------------------------
> --[The adepts are everywhere... awake! v0.666a]--
> -------------------------------------------------
>
> http://member.isavvix.com/herval/vote.jsp?enquete=1003
>
>
> ------------------------------ LISTA SOUJAVA ----------------------------
> http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
> dúvidas mais comuns: http://www.soujava.org.br/faq.htm
> regras da lista: http://www.soujava.org.br/regras.htm
> para sair da lista: envie email para [EMAIL PROTECTED]
> -------------------------------------------------------------------------
>
>
>
>
> ------------------------------ LISTA SOUJAVA ----------------------------
> http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
> dúvidas mais comuns: http://www.soujava.org.br/faq.htm
> regras da lista: http://www.soujava.org.br/regras.htm
> para sair da lista: envie email para [EMAIL PROTECTED]
> -------------------------------------------------------------------------
>


------------------------------ LISTA SOUJAVA ---------------------------- 
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP 
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED] 
-------------------------------------------------------------------------

Responder a