java.lang.Object
br.ufsc.labsec.signature.conformanceVerifier.report.builder.ReportDocumentBuilder
All Implemented Interfaces:
ReportBuilder<Document,​Element>

public class ReportDocumentBuilder
extends Object
implements ReportBuilder<Document,​Element>

Classe para evitar a redundância da criação de um objecto Document.

Existem dois tipos de nodos

  • Folha: possuem um valor texto. Podem ser criados a partir de Strings ou conversões para String. Representam valores de um relatório
  • Ramo: possuem nodos filhos. São elementos que normalmente representam um relatório

Para o builder ser reaproveitável na contrução de múltiplos nodos complexos, os elementos que serão manipulados estão em uma pilha. Quando necessário, o elemento que deve ser contruído é colocado no topo dessa pilha e depois retirado.

Para criações de elementos ramo que não são relatórios recomenda-se a utilização do método createComplexElement que recebe de parâmetro uma função anônima que indica as ações que o builder deve executar com esse elemento