Ir para o conteúdo

InterceptadorUtils

Classe utilitária com métodos auxiliares para acesso às variáveis de sessão, entidades padrão, construção de cláusulas WHERE e integração com o banco de dados no contexto do SAM.

Pacote

sam.server.samdev.utils


Instância Singleton

static InterceptadorUtils INSTANCE

Instância pública única da classe.


Sessão SAM

SAMWhere getSamWhere()

Retorna uma nova instância de SAMWhere com base nas variáveis da sessão atual.

Variaveis getVariaveis()

Retorna a instância atual de Variaveis, contendo contexto da sessão (usuário, empresa, etc).


Entidades

Aac01 obterGC(Long aac01id, Session s)

Obtém a entidade Aac01 (provavelmente grupo de cálculo ou similar) pelo seu ID usando uma sessão ORM.

Aab10 obterUsuarioLogado()

Retorna o usuário logado atual (Aab10), obtido a partir das variáveis de sessão.

Aac10 obterEmpresaAtiva()

Retorna a empresa ativa (Aac10) associada à sessão atual.


Where Padrão

String obterWherePadrao(String classe)

Gera a cláusula WHERE padrão para uma entidade pelo nome da classe, utilizando AND por padrão.

String obterWherePadrao(String classe, String whereAndOr)

Permite definir o operador lógico (AND ou OR) para construir a cláusula WHERE padrão com base na classe informada.


Banco de Dados

BancoDadosUtils getAcessoAoBanco(Session s)

Instancia a classe BancoDadosUtils para acesso ao banco, já configurada com a sessão atual e SAMWhere.

Parametro criarParametroSql(String chave, Object valor)

Cria uma instância de Parametro para uso em queries parametrizadas.


Controle de Fluxo

void interromper(String mensagem)

Lança uma ValidacaoException com a mensagem informada. Usado para parar fluxos com validação explícita.


Exemplo de uso

InterceptadorUtils utils = InterceptadorUtils.INSTANCE;

String wherePadrao = utils.obterWherePadrao("sam.model.entities.fb.Fba01");
BancoDadosUtils banco = utils.getAcessoAoBanco(session);

if (!usuarioValido) {
    utils.interromper("Usuário não autorizado.");
}