Class AttributeValueReport
- All Implemented Interfaces:
ReportElement
-
Field Summary
Fields inherited from class AbstractReport
DATE_TIME_FORMATTER -
Constructor Summary
ConstructorsConstructorDescriptionAttributeValueReport(String parent) AttributeValueReport(HashMap<String, Object> information) -
Method Summary
Modifier and TypeMethodDescriptionprotected 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.Retorna a tag do elementoRetorna o mapa completo de informações armazenadas.Retorna o valor associado à chave fornecida no mapa de informações.voidInsere um valor no mapa atual, inferindo o tipo do valor fornecido.voidInsere um valor no mapa de informações, considerando o tipo da chave e do valor.voidsetCurrent(String newMapKey) Methods inherited from class AbstractReport
addAllErrorMessages, addErrorMessage, clear, formatDate, generateDocument, generateElement, generateJSON, getErrorMessagesMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface 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
-
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.
-