HookContext¶
This docs was updated at: 2026-02-23
com.paragon.messaging.hooks.HookContext · Record
Contexto passado para hooks durante processamento de lote de mensagens.
Contém informações sobre o lote sendo processado e um mapa mutável para hooks compartilharem dados entre si.
Exemplo de uso entre hooks:
// Pre-hook armazena timestamp
ProcessingHook preHook = context -> {
context.putMetadata("startTime", Instant.now());
context.putMetadata("userTier", getUserTier(context.userId()));
};
// Post-hook calcula duração
ProcessingHook postHook = context -> {
Instant start = context.getMetadata("startTime", Instant.class).orElseThrow();
Duration elapsed = Duration.between(start, Instant.now());
metrics.record(context.userId(), elapsed);
};
Since: 1.0
Methods¶
create¶
Cria contexto para primeira tentativa.
Parameters
| Name | Description |
|---|---|
userId |
ID do usuário |
messages |
mensagens a processar |
Returns
novo HookContext
forRetry¶
Cria contexto para retry.
Parameters
| Name | Description |
|---|---|
original |
contexto original |
retryCount |
número da tentativa |
Returns
novo HookContext para retry
elapsedTime¶
Tempo decorrido desde início do processamento.
Returns
duração desde batchStartTime
firstMessage¶
Primeira mensagem do lote.
Returns
primeira mensagem
Throws
| Type | Condition |
|---|---|
IllegalStateException |
se lote vazio |
lastMessage¶
Última mensagem do lote.
Returns
última mensagem
Throws
| Type | Condition |
|---|---|
IllegalStateException |
se lote vazio |
putMetadata¶
Armazena valor em metadata (thread-safe).
Parameters
| Name | Description |
|---|---|
key |
chave |
value |
valor |
getMetadata¶
Recupera valor de metadata.
Parameters
| Name | Description |
|---|---|
key |
chave |
Returns
Optional com valor ou empty
getMetadata¶
Recupera valor tipado de metadata.
Parameters
| Name | Description |
|---|---|
key |
chave |
type |
tipo esperado |
<T> |
tipo genérico |
Returns
Optional com valor tipado ou empty
hasMetadata¶
Verifica se metadata contém chave.
Parameters
| Name | Description |
|---|---|
key |
chave |
Returns
true se existe
isFirstAttempt¶
Verifica se é primeira tentativa (não é retry).
Returns
true se retryCount == 0