Idl para XMM

0 respostas
celso.martins

Bem, nesse tópico vou tentar tirar uma dúvida que persiste há um mês.

Preciso transformar uma IDL em um arquivo XMM (XML Mapper). Vou anexar um exemplo.

Seria algo simples, mas não tenho controle sobre o número de hierarquias que esse arquivo pode ter. Por ex:

1 GRUPO01
  2 FIELD01
  2 FIELD02
  2 GRUPO02
    3 FIELD03
    3 GRUPO03
      4 FIELD04

Isso pode se estender ao infinito. Entretanto em tempo de execução eu tenho o tamanho da hierarquia, em tempo de projeto.
Criei uma classe IdlParameter (um dos trechos do XMM) mas não consegui enxergar como eu colocaria um cabra dentro do outro “infinitamente” para usar um XStream da vida. Tentei usar recursividade, escondendo o construtor e criando um método fábrica, mas não consegui chegar a algum lugar.

Por isso implementei minha própria solução que, diga-se de passagem, está funcionando. =)

Aquele atributo private boolean grupo da classe Node é definido a partir desta forma: node.setGrupo(nivelPosterior > nivelAtual). Assim, quando é grupo, abro a tag e depois, quando o nível baixa, saio fechando quem precisa ser fechado através de um laço for.

Não gostei nem um pouco dessa solução e tenho calafrios cada vez que vejo meu método que transforma esses cabras em XML. =)

Obrigado.

Criado 12 de agosto de 2008
Respostas 0
Participantes 1