[resolvido] dúvida com XStream + Enum...  XML
Índice dos Fóruns » Ferramentas, Frameworks e Utilitários
Autor Mensagem
paulovittor23
Java Ninja
[Avatar]

Membro desde: 11/05/2006 14:09:41
Mensagens: 282
Localização: Santos - SP
Offline

Boa noite !

Alguém sabe por que quando tento serializar este enum:



o resultado gerado é:


e não apenas:




obs.: O segundo resultado só acontece quando eu retiro o atributo descricao do enum...

desde já agradeço a atenção !

@paulovittor23
Pós-graduando em Engenharia de Software na PUC-SP.
SCJP 5.0, SCWCD 1.4, SCBCD 5.
http://www.paulovittor23.org/
[Email] [WWW] [MSN]
bcartaxo
JavaTeenager

Membro desde: 06/11/2006 00:35:48
Mensagens: 193
Localização: Recife - PE
Offline

Oq vou falar é especulação baseada no q eu tenho estudado pra tirar cetificação, são suposições, aviso logo =P

enums são similares a classes, porém cada elemento é como se fosse uma constante estática, porém quanto vc insere uma atributo é como se ele virasse uma classe de fato, e cada lemento tivesse q ser instanciado. Então o XStream interpreta como se fosse uam classe.

VOu lembrar mais uma vez, isso é uma total especulação sem nenhum fundamento teórico. Espera pra ver se entra alguém pra explicar de fato isso.

Flw
[MSN]
Paulo Silveira
Administrador
[Avatar]

Membro desde: 07/08/2002 18:38:50
Mensagens: 4204
Localização: São Paulo
Offline

Paulo!

Nao use enum dessa maneira para setar um atributo dela! Utilize o construtor!! Crie um construtor na enumeracao que receba e popule descricao, ai declare a enum como enum Tipo {MSN("msn msgner...")} e assim por diante...

Isso nao eh uma resposta para o seu problema com o xstream e nao sei se resolve...

http://blog.caelum.com.br twitter: @paulo_caelum


[Email] [WWW]
mister__m
Virtual Machine Man
[Avatar]

Membro desde: 18/03/2005 16:13:17
Mensagens: 736
Offline

Existe uma razão muito simples do seu problema com XStream. Da forma como você declarou suas enums, cada uma delas é uma subclasse anônima da classe da enum e por isso o XStream se perde e resolve qualificar o nome da classe. Seguindo a dica do Paulo, creio que seu problema será resolvido.

Michael Nascimento Santos, aka Mister M

Summa Technologies do Brasil - http://www.summa-tech.com/
genesis: Uma nova forma de desenvolver aplicações - https://genesis.dev.java.net/
ThinNB: Suporte a Thinlet no NetBeans - https://thinnb.dev.java.net/
Líder da JSR-310 - Date and Time API
Expert Group Member das JSRs 207 (PD4J), 250 (Common Annotations), 270 (Java 2 SE 6.0), 296 (Swing Framework) e 303 (Bean Validation)
SouJava: Fortalecendo a comunidade Java brasileira - https://soujava.dev.java.net/ https://www.soujava.org.br/
JSR Community @ java.net - http://community.java.net/jsr
Blogs - http://blog.michaelnascimento.com.br/ http://today.java.net/pub/au/80
Twitter - @mr__m
[WWW]
paulovittor23
Java Ninja
[Avatar]

Membro desde: 11/05/2006 14:09:41
Mensagens: 282
Localização: Santos - SP
Offline

Hum...valeu pela ajuda de todos !

A questão em si é, eu queria que apartir de um tipo de enum eu tivesse pré-definida uma descrição do mesmo...ou seja, quando eu desserializasse um objeto a partir do tipo do enum recuperado eu poder buscar a descrição do mesmo...

Vou seguir o conselho do Paulo e utilizar o construtor do enum para tentar fazer isso...

Pena que só vou poder fazer isso a noite, quando sair do trabalho...

Depois eu posto aqui o resultado ou qqr outra dúvida que apareça !

[]s


@paulovittor23
Pós-graduando em Engenharia de Software na PUC-SP.
SCJP 5.0, SCWCD 1.4, SCBCD 5.
http://www.paulovittor23.org/
[Email] [WWW] [MSN]
paulovittor23
Java Ninja
[Avatar]

Membro desde: 11/05/2006 14:09:41
Mensagens: 282
Localização: Santos - SP
Offline

funcionou perfeitamente a idéia de usar o construtor !



Tnks !

@paulovittor23
Pós-graduando em Engenharia de Software na PUC-SP.
SCJP 5.0, SCWCD 1.4, SCBCD 5.
http://www.paulovittor23.org/
[Email] [WWW] [MSN]
 
Índice dos Fóruns » Ferramentas, Frameworks e Utilitários
Ir para:   
Powered by JForum 2.1.8 © JForum Team