/**
* Copyright (c) 2009-2014 Câmara dos Deputados. Todos os direitos reservados.
*
* e-Democracia é um software livre; você pode redistribuí-lo e/ou modificá-lo dentro
* dos termos da Licença Pública Geral Menor GNU como publicada pela Fundação do
* Software Livre (FSF); na versão 2.1 da Licença, ou (na sua opinião) qualquer versão.
*
* Este programa é distribuído na esperança de que possa ser útil, mas SEM NENHUMA GARANTIA;
* sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR.
* Veja a Licença Pública Geral Menor GNU para maiores detalhes.
*/
package br.gov.camara.edemocracia.portlets.wikilegis.importer;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
/**
* Dados para estrutura
*
* @author p_7339
*
*/
public class EstruturaDTO {
private final EstruturaDTO pai;
private final String nome;
private final List<EstruturaDTO> filhos = new ArrayList<EstruturaDTO>();
private final List<ArtigoDTO> artigos = new ArrayList<ArtigoDTO>();
public EstruturaDTO(EstruturaDTO pai, String nome) {
this.pai = pai;
this.nome = nome;
if (this.pai != null)
pai.filhos.add(this);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("[").append(nome);
if (!filhos.isEmpty()) {
sb.append(":");
Iterator<EstruturaDTO> iter = filhos.iterator();
while (iter.hasNext()) {
sb.append(iter.next());
if (iter.hasNext())
sb.append(",");
}
}
sb.append("]");
return sb.toString();
}
public void adiconaArtigo(ArtigoDTO artigo) {
artigos.add(artigo);
}
/**
* @return the filhos
*/
public final List<EstruturaDTO> getFilhos() {
return filhos;
}
/**
* @return the pai
*/
public final EstruturaDTO getPai() {
return pai;
}
/**
* @return the nome
*/
public final String getNome() {
return nome;
}
/**
* @return the artigos
*/
public final List<ArtigoDTO> getArtigos() {
return Collections.unmodifiableList(artigos);
}
}