Interface XlsProcessor
public interface XlsProcessor
SPI do processador de um tipo de arquivo. Introduzida pelo seam (não havia
interface comum: onpetro tinha 8 processadores com assinaturas não-uniformes selecionados por
um
switch; vantroba tinha fluxo fixo). Cada processador de domínio do app implementa
esta interface; o esqueleto despacha por tipo() num Map (mata o switch de 8
argumentos — over-eng menor do BI, R5).
A chave de tipo é um String (não um enum do app) para o esqueleto ficar agnóstico
de domínio — o app define suas constantes de tipo.
-
Method Summary
Modifier and TypeMethodDescriptionProcessa o arquivo: lê (viaXlsReader), mapeia para domínio e persiste (viaBulkUpsertStrategy), devolvendo o resultado com métricas.tipo()Chave do tipo de arquivo que este processador trata (ex.:"COMPRAS","FATURAMENTO").
-
Method Details
-
tipo
String tipo()Chave do tipo de arquivo que este processador trata (ex.:"COMPRAS","FATURAMENTO"). Usada como chave de dispatch.- Returns:
- a chave de tipo, única entre os processadores do app
-
processar
Processa o arquivo: lê (viaXlsReader), mapeia para domínio e persiste (viaBulkUpsertStrategy), devolvendo o resultado com métricas.- Parameters:
conteudo- bytes do arquivonomeArquivo- nome do arquivo (alguns tipos extraem período do nome)log- recebe linhas de progresso legíveis para acompanhamento- Returns:
- resultado do processamento (sucesso com métricas, ou ignorado)
-