Dúvida em recursividade de método

2 respostas
P

Fala feras :smiley:

To aqui quebrando a cabeça para desenvolver uma função mas está um pouco complicado. Tenho um objeto que armazena registros pais e filhos, mas um filho, pode ter um neto e este neto pode ter um filho e este, pode ter outro filho e etc. Não existe um limite que possa ter.

Ex.:

Pai ( Registro Principal ): Id - 1

Filho X do Pai: Id 2 / Id do Pai 1

Filho A do X - Id 10 / Id do Pai 2

Filho B do X - Id 13 / Id do Pai 2

Filho G do A - Id 11 / Id do Pai 10

E etc

Minha dúvida é como criar um looping para fazer essas buscas. Atualmente, estou utilizando JPA e tenho uma coleção no Objeto:

@OneToMany(mappedBy="rqFatherId", fetch=FetchType.EAGER)
	private Collection<RequerimentoTO> filhos;

Essa coleção me retorna todos os resultados e se eu for navegando entre as listas de cada objeto, eu tenho todos os resultados com seus respectivos filhos. Meu problema, está bem na hora que vou montar um loop para começar a criar um outro tipo de objeto pq eu posso ter N objetos dentro de uma lista e dentro de um objeto, eu posso ter uma outra lista e assim sucessivamente. Existe alguma maneira de montar isso? Eu travei nessa parte:

requerimentos = requerimentoDelegate.buscarRequerimentos();
		boolean buscarFilhos = true;
		for(RequerimentoTO requerimentoTO : requerimentos){
			DefaultMutableTreeNode node = new DefaultMutableTreeNode(requerimentoTO);
			// Nesse looping, eu obtenho o primeiro nível do objeto mas não sei quantos níveis vou ter pq eu posso ter uma outra lista dentro desse requeimentoTO e dentro dessa lista, eu posso ter um objeto com outra lista e assim sucessivamente
			root.insert(node);
		}

Tem alguma maneira de eu fazer isso?

2 Respostas

P

Fala feras…andei pesquisando e achei um tópico no GUJ ( http://www.guj.com.br/posts/list/1103.java ) e fiz o mesmo esquema que o Rafael Steil e falou e estou testando para ver o que deu. Qualquer coisa eu grito aqui :smiley:

RobsonCassol

Vc tem que fazer o inverso.

Primeiro vc deve procurar todos os nós que não posuem filhos (Folhas) então ir setando os pais deles até chegar nos nós que não possuem pais (Raiz).

Criado 15 de abril de 2009
Ultima resposta 15 de abr. de 2009
Respostas 2
Participantes 2