Class AttributeValueReport
- All Implemented Interfaces:
ReportElement
public class AttributeValueReport extends AbstractReport
-
Field Summary
Fields inherited from class br.ufsc.labsec.signature.conformanceVerifier.report.AbstractReport
DATE_TIME_FORMATTER -
Constructor Summary
Constructors Constructor Description AttributeValueReport(String parent)AttributeValueReport(HashMap<String,Object> information) -
Method Summary
Modifier and Type Method Description protected voidbuildCertElements(Collection<ValidationDataReport> reports, ReportBuilder<?,?> documentBuilder)Constrói os elementos XML relacionados aos certificados a partir de uma coleção de relatórios de validação.protected <T> voidbuildElementForEach(String key, ReportBuilder<?,?> documentBuilder, List<T> elementList)No caso de exceções, r Constrói elementos XML repetidos a partir de uma lista de dados.protected voidbuildElements(ReportBuilder<?,?> documentBuilder)Constrói os elementos XML principais deste relatório utilizando oReportBuilder.protected voidbuildExtraElements(ReportBuilder<?,?> documentBuilder, String key, Object value)Constrói elementos XML adicionais de forma recursiva com base no tipo do valor associado à chave.LinkedHashMap<String,Object>getCurrent()StringgetElementTag()Retorna a tag do elementoLinkedHashMap<String,Object>getInformation()Retorna o mapa completo de informações armazenadas.ObjectgetValue(String key)Retorna o valor associado à chave fornecida no mapa de informações.LinkedHashMap<String,Object>popCurrent()voidputValue(Object value)Insere um valor no mapa atual, inferindo o tipo do valor fornecido.voidputValue(Object key, Object value)Insere um valor no mapa de informações, considerando o tipo da chave e do valor.voidsetCurrent(String newMapKey)Methods inherited from class br.ufsc.labsec.signature.conformanceVerifier.report.AbstractReport
addAllErrorMessages, addErrorMessage, clear, formatDate, generateDocument, generateElement, generateJSON, getErrorMessagesMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface br.ufsc.labsec.signature.conformanceVerifier.report.builder.ReportElement
getPluralElementTag
-
Constructor Details
-
AttributeValueReport
-
AttributeValueReport
-
-
Method Details
-
setCurrent
-
getCurrent
-
popCurrent
-
getElementTag
Description copied from interface:ReportElementRetorna a tag do elemento- Returns:
- A tag do elemento
-
buildElements
Constrói os elementos XML principais deste relatório utilizando oReportBuilder.Define o elemento atual com base na tag deste elemento e, em seguida, delega a construção de elementos adicionais para cada entrada do mapa
information. No final, o elemento atual é removido da pilha.Se ocorrer um erro de caractere inválido no nome de algum elemento, uma exceção
DOMExceptionserá capturada e registrada.- Specified by:
buildElementsin classAbstractReport- Parameters:
documentBuilder- o construtor de relatório utilizado para criar os elementos XML.
-
buildExtraElements
Constrói elementos XML adicionais de forma recursiva com base no tipo do valor associado à chave.Se o valor for uma
String, um elemento simples será criado. Se for umLinkedHashMap, os elementos filhos serão construídos recursivamente. Se for umaList, será chamado o métodobuildElementForEach. Se for umReportElement, será adicionado diretamente ao documento.- Parameters:
documentBuilder- o construtor de relatório usado para criar os elementos.key- o nome do elemento a ser criado.value- o valor associado à chave, que pode ser um mapa, lista, string ouReportElement.
-
buildElementForEach
protected <T> void buildElementForEach(String key, ReportBuilder<?,?> documentBuilder, List<T> elementList)No caso de exceções, r Constrói elementos XML repetidos a partir de uma lista de dados.Este método verifica o tipo dos itens na lista: se forem do tipo
ValidationDataReport, delega parabuildCertElements. Caso contrário, a lista é formatada e separada entre elementos do tipoStringeLinkedHashMappara criação estruturada dos elementos.- Type Parameters:
T- o tipo dos elementos contidos na lista.- Parameters:
key- a chave base usada para nomear os elementos XML.documentBuilder- o construtor de relatório utilizado para gerar os elementos.elementList- a lista de elementos a serem convertidos em XML.
-
buildCertElements
protected void buildCertElements(Collection<ValidationDataReport> reports, ReportBuilder<?,?> documentBuilder)Constrói os elementos XML relacionados aos certificados a partir de uma coleção de relatórios de validação.Para cada certificado válido, é criado um elemento
Certificatedentro de um contêinerCertificatesutilizando oReportBuilder. Cada relatório é responsável por construir seu próprio elemento de certificado através do métodoValidationDataReport.buildCertificate(Pair, ReportBuilder).- Parameters:
reports- a coleção de objetosValidationDataReportque contêm os dados dos certificados.documentBuilder- o construtor de relatório utilizado para gerar os elementos XML.
-
putValue
Insere um valor no mapa de informações, considerando o tipo da chave e do valor.Se a chave for uma
Stringe o valor for umaStringouLinkedHashMap, o par será inserido diretamente no mapa atual.Se o valor for um
AlgorithmIdentifier, será convertido para o nome do algoritmo e inserido como string.Se o valor for uma
List, um novo contexto temporário será criado com a chave como nome, os elementos da lista serão processados e, ao final, o contexto será removido.Se a chave for um
Certificate, será criado um contexto com base no número de série do certificado (se for uma instância deX509Certificate) e o valor será processado recursivamente.- Parameters:
key- a chave associada ao valor, podendo ser umaStringou umCertificate.value- o valor a ser inserido, podendo ser umaString,LinkedHashMap,ListouAlgorithmIdentifier.
-
putValue
Insere um valor no mapa atual, inferindo o tipo do valor fornecido.Se o valor for uma
List, o tipo dos elementos é verificado: - Se forem certificados, a lista será processada especificamente como tal. - Caso contrário, será processada genericamente com base no tipo do primeiro elemento.Se o valor for um
AbstractReport, será adicionado diretamente ao mapa com chave nula simbólica.- Parameters:
value- o valor a ser processado e inserido, podendo ser umaListou umAbstractReport.
-
getValue
Retorna o valor associado à chave fornecida no mapa de informações.- Parameters:
key- a chave do valor a ser recuperado.- Returns:
- o valor correspondente, ou
nullse a chave não existir.
-
getInformation
Retorna o mapa completo de informações armazenadas.Este mapa contém os pares chave-valor organizados durante a construção do relatório.
- Returns:
- o mapa de informações atual como
LinkedHashMap.
-