Interface ReportBuilder<ROOT,ELEMENT>
- All Known Implementing Classes:
ReportDocumentBuilder,ReportJSONBuilder
public interface ReportBuilder<ROOT,ELEMENT>
-
Method Summary
Modifier and Type Method Description ReportBuilder<ROOT,ELEMENT>createElement(ReportElement value)Cria um elemento baseado em um relatório.ReportBuilder<ROOT,ELEMENT>createElement(String tag)ReportBuilder<ROOT,ELEMENT>createElement(String tag, boolean value)Cria um elemento com um conteúdo booleanoReportBuilder<ROOT,ELEMENT>createElement(String tag, Number value)Cria um elemento com um conteúdo numéricoReportBuilder<ROOT,ELEMENT>createElement(String tag, String value)Cria um elemento com um conteúdo de textodefault ReportBuilder<ROOT,ELEMENT>createElement(String tag, Date value)ReportBuilder<ROOT,ELEMENT>createElement(String tag, Consumer<ReportBuilder<ROOT,ELEMENT>> consumer)Cria um elemento e o constrói com base em uma função anônima, esse método abstrai a pilha para a criação de elementos complexos.
Um exemplo do uso é na criação do elemento de certificado em DigitalIdentityReportReportBuilder<ROOT,ELEMENT>createElementForEach(String tag, String pluralTag, Collection<String> values)Cria um elemento lista (plural tag) e elementos filhos dele com a tag<T> ReportBuilder<ROOT,ELEMENT>createElementForEach(String tag, String pluralTag, Collection<T> values, BiConsumer<T,ReportBuilder<ROOT,ELEMENT>> consumer)Cria uma lista de elementos e os constrói com base em uma função anônima.ReportBuilder<ROOT,ELEMENT>createElementForEach(Collection<? extends ReportElement> values)Este método leva em conta a possibilidade de relatórios de tipos diferentes estarem presentes na lista.ELEMENTgetCurrentElement()Obtém o elemento atualROOTgetRoot()Obtém o elemento raizvoidgoToElement(String tag)ELEMENTpopElement()voidsetCurrentElement(String tag)
-
Method Details
-
createElement
Cria um elemento baseado em um relatório. O builder é 'emprestado' para o relatório, assim, o elemento a ser criado é adicionado ao topo da pilha e depois é removido- Parameters:
value- relatório- Returns:
- builder
-
createElement
-
createElement
Cria um elemento com um conteúdo de texto- Parameters:
tag- tag do elementovalue- valor do elemento- Returns:
- builder
-
createElement
Cria um elemento com um conteúdo numérico- Parameters:
tag- tag do elementovalue- valor do elemento- Returns:
- builder
-
createElement
Cria um elemento com um conteúdo booleano- Parameters:
tag- tag do elementovalue- valor do elemento- Returns:
- builder
-
createElement
ReportBuilder<ROOT,ELEMENT> createElement(String tag, Consumer<ReportBuilder<ROOT,ELEMENT>> consumer)Cria um elemento e o constrói com base em uma função anônima, esse método abstrai a pilha para a criação de elementos complexos.
Um exemplo do uso é na criação do elemento de certificado em DigitalIdentityReport- Parameters:
tag- tag do elementoconsumer- função de criação do elemento- Returns:
- builder
- See Also:
DigitalIdentityReport
-
createElementForEach
<T> ReportBuilder<ROOT,ELEMENT> createElementForEach(String tag, String pluralTag, Collection<T> values, BiConsumer<T,ReportBuilder<ROOT,ELEMENT>> consumer)Cria uma lista de elementos e os constrói com base em uma função anônima. Esse método abstrai a pilha para a criação de elementos complexos.
O uso desse método é recomendado para a criação de listas de elementos que não são relatórios. O consumer, ou a função que o implementa, deve receber de argumento o valor T e o builder, nesta ordem.
Um exemplo do uso é na criação do elemento conformities emReport.buildConformity(SignatureReport.Conformity, ReportBuilder)(SignatureReport.Conformity, ReportBuilder) Report#buildConformity}- Type Parameters:
T- tipo dos valores- Parameters:
tag- tag do elementopluralTag- tag da listavalues- valores da listaconsumer- função de criação do elemento- Returns:
- builder
-
createElementForEach
Este método leva em conta a possibilidade de relatórios de tipos diferentes estarem presentes na lista. Primeiramente, os relatório são agrupados pela tag pluralizada e são adicionados ao elemento com esta tag.
Caso o elemento com a tag pluralizada não exista, ele é criado.
- Parameters:
values- relatórios- Returns:
- builder
-
createElementForEach
ReportBuilder<ROOT,ELEMENT> createElementForEach(String tag, String pluralTag, Collection<String> values)Cria um elemento lista (plural tag) e elementos filhos dele com a tag- Parameters:
tag- tag dos elementospluralTag- tag listavalues- valor dos elementos- Returns:
- builder
-
getCurrentElement
ELEMENT getCurrentElement()Obtém o elemento atual- Returns:
- elemento atual
-
getRoot
ROOT getRoot()Obtém o elemento raiz- Returns:
- elemento raiz
-
setCurrentElement
-
goToElement
-
popElement
ELEMENT popElement() -
createElement
-