Index

A C D E F G H I J L M P R S T U V W 
All Classes and Interfaces|All Packages|Serialized Form

A

accountId - Variable in class io.github.ravocode.avoonce.sample.PaymentController.PaymentRequest
The account identifier for the payment.
accountId - Variable in class io.github.ravocode.avoonce.sample.quarkus.PaymentResource.PaymentRequest
The account identifier for the payment.
acquireOrGet(String) - Method in class io.github.ravocode.avoonce.caffeine.CaffeineIdempotencyRepository
Delegates to CaffeineIdempotencyRepository.acquireOrGet(String, String) with a null hash, keeping all locking logic in one place.
acquireOrGet(String) - Method in interface io.github.ravocode.avoonce.core.spi.IdempotencyRepository
Atomically attempts to save a new record with the state STARTED.
acquireOrGet(String) - Method in class io.github.ravocode.avoonce.jdbc.JdbcIdempotencyRepository
acquireOrGet(String) - Method in class io.github.ravocode.avoonce.redis.RedisIdempotencyRepository
Atomically attempts to save a new record with the state STARTED.
acquireOrGet(String, String) - Method in class io.github.ravocode.avoonce.caffeine.CaffeineIdempotencyRepository
Atomically acquires a lock or returns an existing COMPLETED record.
acquireOrGet(String, String) - Method in interface io.github.ravocode.avoonce.core.spi.IdempotencyRepository
Atomically attempts to save a new record with the state STARTED, verifying the request hash.
acquireOrGet(String, String) - Method in class io.github.ravocode.avoonce.jdbc.JdbcIdempotencyRepository
Atomically acquires a distributed lock or returns an existing COMPLETED record.
acquireOrGet(String, String) - Method in class io.github.ravocode.avoonce.redis.RedisIdempotencyRepository
Atomically attempts to save a new record with the state STARTED, verifying the request hash.
ambiguousStoreGuard() - Method in class io.github.ravocode.avoonce.spring.IdempotencyAutoConfiguration
Fail-fast bean that throws an IllegalStateException if multiple storage backends are on the classpath without an explicit avoonce.idempotency.store property set.
amount - Variable in class io.github.ravocode.avoonce.sample.PaymentController.PaymentRequest
The payment amount to process.
amount - Variable in class io.github.ravocode.avoonce.sample.quarkus.PaymentResource.PaymentRequest
The payment amount to process.
aroundWriteTo(WriterInterceptorContext) - Method in class io.github.ravocode.avoonce.jaxrs.IdempotencyContainerFilter
 
Atomicity - Section in class io.github.ravocode.avoonce.jdbc.JdbcIdempotencyRepository
 

C

CachedBodyHttpServletRequest - Class in io.github.ravocode.avoonce.spring
An HttpServletRequestWrapper that caches the HTTP request body in memory, allowing it to be read multiple times (e.g. for SHA-256 hashing and downstream controller processing).
CachedBodyHttpServletRequest(HttpServletRequest) - Constructor for class io.github.ravocode.avoonce.spring.CachedBodyHttpServletRequest
Constructs a CachedBodyHttpServletRequest by reading and caching the input stream of the given request.
caffeineAutoRepository(IdempotencyConfig) - Method in class io.github.ravocode.avoonce.spring.CaffeineIdempotencyAutoConfiguration
Auto-wires the Caffeine in-memory repository when no other store is present and store property is auto.
caffeineExplicitRepository(IdempotencyConfig) - Method in class io.github.ravocode.avoonce.spring.CaffeineIdempotencyAutoConfiguration
Wires the Caffeine in-memory repository when avoonce.idempotency.store=caffeine is explicitly set.
CaffeineIdempotencyAutoConfiguration - Class in io.github.ravocode.avoonce.spring
Auto-configuration for Caffeine in-memory idempotency repositories.
CaffeineIdempotencyAutoConfiguration() - Constructor for class io.github.ravocode.avoonce.spring.CaffeineIdempotencyAutoConfiguration
Creates a new auto-configuration instance.
CaffeineIdempotencyRepository - Class in io.github.ravocode.avoonce.caffeine
In-memory IdempotencyRepository backed by a Caffeine cache.
CaffeineIdempotencyRepository(IdempotencyConfig) - Constructor for class io.github.ravocode.avoonce.caffeine.CaffeineIdempotencyRepository
Constructs a CaffeineIdempotencyRepository with the given configuration.
COMPLETED - Enum constant in enum class io.github.ravocode.avoonce.core.domain.IdempotencyStatus
The request has been successfully processed, and a response is cached.
count - Variable in class io.github.ravocode.avoonce.sample.quarkus.PaymentResource.CountResponse
The current process count.
CountResponse() - Constructor for class io.github.ravocode.avoonce.sample.quarkus.PaymentResource.CountResponse
Default constructor for serialization frameworks.
CountResponse(int) - Constructor for class io.github.ravocode.avoonce.sample.quarkus.PaymentResource.CountResponse
Creates a count response with the supplied value.

D

delete(byte[]) - Method in class io.github.ravocode.avoonce.redis.JedisRedisOperations
Deletes the specified key.
delete(byte[]) - Method in class io.github.ravocode.avoonce.redis.LettuceRedisOperations
Deletes the specified key.
delete(byte[]) - Method in interface io.github.ravocode.avoonce.redis.RedisOperations
Deletes the specified key.
delete(String) - Method in class io.github.ravocode.avoonce.caffeine.CaffeineIdempotencyRepository
Removes the idempotency record for the given key from the in-memory cache.
delete(String) - Method in interface io.github.ravocode.avoonce.core.spi.IdempotencyRepository
Removes the idempotency record associated with the given key.
delete(String) - Method in class io.github.ravocode.avoonce.jdbc.JdbcIdempotencyRepository
 
delete(String) - Method in class io.github.ravocode.avoonce.redis.RedisIdempotencyRepository
Removes the idempotency record associated with the given key.
doFilterInternal(HttpServletRequest, HttpServletResponse, FilterChain) - Method in class io.github.ravocode.avoonce.spring.IdempotencyFilter
 

E

evictExpired() - Method in class io.github.ravocode.avoonce.caffeine.CaffeineIdempotencyRepository
No-op for Caffeine: TTL-based expiry is handled automatically by the underlying cache.
evictExpired() - Method in interface io.github.ravocode.avoonce.core.spi.IdempotencyRepository
Evicts all expired records from the underlying storage.
evictExpired() - Method in class io.github.ravocode.avoonce.jdbc.JdbcIdempotencyRepository
 
evictExpired() - Method in class io.github.ravocode.avoonce.redis.RedisIdempotencyRepository
Evicts all expired records from the underlying storage.
evictExpired() - Method in class io.github.ravocode.avoonce.spring.JdbcIdempotencyAutoConfiguration.JdbcEvictionTask
Periodically runs the eviction task based on configured interval.
EvictionProperties() - Constructor for class io.github.ravocode.avoonce.spring.IdempotencyProperties.EvictionProperties
Creates a new eviction properties instance with default values.
execute(String, byte[], Callable) - Method in class io.github.ravocode.avoonce.core.IdempotencyManager
Executes the given action idempotently, hashing the raw requestBody using the configured RequestHasher to detect key reuse with a different payload.
execute(String, String, Callable) - Method in class io.github.ravocode.avoonce.core.IdempotencyManager
Executes the given action idempotently using a caller-supplied pre-computed hash string.
execute(String, Callable) - Method in class io.github.ravocode.avoonce.core.IdempotencyManager
Executes the given action idempotently based on the provided key alone.

F

FAILED - Enum constant in enum class io.github.ravocode.avoonce.core.domain.IdempotencyStatus
The request encountered an error or failed to process.
filter(ContainerRequestContext) - Method in class io.github.ravocode.avoonce.jaxrs.IdempotencyContainerFilter
 
filter(ContainerRequestContext, ContainerResponseContext) - Method in class io.github.ravocode.avoonce.jaxrs.IdempotencyContainerFilter
 

G

get(byte[]) - Method in class io.github.ravocode.avoonce.redis.JedisRedisOperations
Retrieves the value associated with a key.
get(byte[]) - Method in class io.github.ravocode.avoonce.redis.LettuceRedisOperations
Retrieves the value associated with a key.
get(byte[]) - Method in interface io.github.ravocode.avoonce.redis.RedisOperations
Retrieves the value associated with a key.
get(String) - Method in class io.github.ravocode.avoonce.caffeine.CaffeineIdempotencyRepository
Retrieves the current IdempotencyRecord for the given key without modifying it.
get(String) - Method in interface io.github.ravocode.avoonce.core.spi.IdempotencyRepository
Pure read-only check of the current record.
get(String) - Method in class io.github.ravocode.avoonce.jdbc.JdbcIdempotencyRepository
 
get(String) - Method in class io.github.ravocode.avoonce.redis.RedisIdempotencyRepository
Pure read-only check of the current record.
getBody() - Method in class io.github.ravocode.avoonce.core.domain.IdempotencyResponse
Returns the raw serialized response body bytes.
getCachedBody() - Method in class io.github.ravocode.avoonce.spring.CachedBodyHttpServletRequest
Returns the cached byte array of the request body.
getEviction() - Method in class io.github.ravocode.avoonce.spring.IdempotencyProperties.JdbcProperties
Returns the eviction scheduling settings.
getExpiresAt() - Method in class io.github.ravocode.avoonce.core.domain.IdempotencyRecord
Returns the epoch-millisecond timestamp at which the STARTED lock expires.
getHeaderName() - Method in class io.github.ravocode.avoonce.jaxrs.IdempotencyJaxRsConfig
Returns the configured request header name.
getHeaderName() - Method in class io.github.ravocode.avoonce.spring.IdempotencyProperties
Returns the request header used to carry the idempotency key.
getHeaders() - Method in class io.github.ravocode.avoonce.core.domain.IdempotencyResponse
Returns the captured HTTP response headers.
getIdempotencyKey() - Method in class io.github.ravocode.avoonce.core.domain.IdempotencyRecord
Returns the unique idempotency key.
getInputStream() - Method in class io.github.ravocode.avoonce.spring.CachedBodyHttpServletRequest
Returns a servlet input stream backed by the cached request body.
getIntervalMs() - Method in class io.github.ravocode.avoonce.spring.IdempotencyProperties.EvictionProperties
Returns the interval between eviction runs in milliseconds.
getJdbc() - Method in class io.github.ravocode.avoonce.spring.IdempotencyProperties
Returns the JDBC-specific configuration properties.
getLockTimeout() - Method in class io.github.ravocode.avoonce.core.config.IdempotencyConfig
Returns the maximum lock-hold duration before a STARTED record is considered stale.
getLockTimeout() - Method in class io.github.ravocode.avoonce.spring.IdempotencyProperties
Returns the maximum duration a lock may remain active before it is considered stale.
getLockTimeoutUnit() - Method in class io.github.ravocode.avoonce.core.config.IdempotencyConfig
Returns the time unit for the lock timeout value.
getLockTimeoutUnit() - Method in class io.github.ravocode.avoonce.spring.IdempotencyProperties
Returns the time unit for the lock timeout.
getProcessCount() - Method in class io.github.ravocode.avoonce.sample.PaymentController
Returns the number of processed payment requests seen by this sample controller.
getProcessCount() - Method in class io.github.ravocode.avoonce.sample.quarkus.PaymentResource
Returns the current number of processed payment requests.
getReader() - Method in class io.github.ravocode.avoonce.spring.CachedBodyHttpServletRequest
Returns a buffered reader over the cached request body.
getRequestHash() - Method in class io.github.ravocode.avoonce.core.domain.IdempotencyRecord
Returns the SHA-256 hash of the original request body used for payload mismatch detection.
getResponse() - Method in class io.github.ravocode.avoonce.core.domain.IdempotencyRecord
Returns the cached HTTP response for replay, or null if the request has not completed successfully.
getStatus() - Method in class io.github.ravocode.avoonce.core.domain.IdempotencyRecord
Returns the current lifecycle status of this record.
getStatusCode() - Method in class io.github.ravocode.avoonce.core.domain.IdempotencyResponse
Returns the HTTP status code of the cached response.
getStore() - Method in class io.github.ravocode.avoonce.spring.IdempotencyProperties
Returns the selected backing store name.
getTtl() - Method in class io.github.ravocode.avoonce.core.config.IdempotencyConfig
Returns the idempotency response cache TTL value.
getTtl() - Method in class io.github.ravocode.avoonce.spring.IdempotencyProperties
Returns the configured cache TTL value.
getTtlUnit() - Method in class io.github.ravocode.avoonce.spring.IdempotencyProperties
Returns the time unit for the cache TTL.
getUnit() - Method in class io.github.ravocode.avoonce.core.config.IdempotencyConfig
Returns the time unit for the TTL value.

H

hash(byte[]) - Method in interface io.github.ravocode.avoonce.core.hash.RequestHasher
Computes a hash of the given request body bytes.
hash(byte[]) - Method in class io.github.ravocode.avoonce.core.hash.Sha256RequestHasher
Computes a SHA-256 hash of the supplied request body.
Header serialisation - Section in class io.github.ravocode.avoonce.jdbc.JdbcIdempotencyRepository
 

I

IdempotencyAutoConfiguration - Class in io.github.ravocode.avoonce.spring
Spring Boot auto-configuration for the AvoOnce idempotency library.
IdempotencyAutoConfiguration() - Constructor for class io.github.ravocode.avoonce.spring.IdempotencyAutoConfiguration
Creates a new auto-configuration instance.
idempotencyConfig(IdempotencyProperties) - Method in class io.github.ravocode.avoonce.spring.IdempotencyAutoConfiguration
Configures the core IdempotencyConfig based on application properties.
IdempotencyConfig - Class in io.github.ravocode.avoonce.core.config
Immutable configuration for the AvoOnce idempotency layer.
IdempotencyConfig() - Constructor for class io.github.ravocode.avoonce.core.config.IdempotencyConfig
Default constructor with configurable environment variable overrides.
IdempotencyConfig(long, TimeUnit) - Constructor for class io.github.ravocode.avoonce.core.config.IdempotencyConfig
Constructs an IdempotencyConfig with the given TTL and default lock timeout (2 minutes).
IdempotencyConfig(long, TimeUnit, long, TimeUnit) - Constructor for class io.github.ravocode.avoonce.core.config.IdempotencyConfig
Constructs an IdempotencyConfig with explicit TTL and lock-timeout settings.
IdempotencyConflictException - Exception Class in io.github.ravocode.avoonce.core.exception
Exception thrown when a request is made with an idempotency key that is already in progress.
IdempotencyConflictException(String) - Constructor for exception class io.github.ravocode.avoonce.core.exception.IdempotencyConflictException
Constructs an IdempotencyConflictException with the given detail message.
IdempotencyContainerFilter - Class in io.github.ravocode.avoonce.jaxrs
JAX-RS ContainerRequestFilter, ContainerResponseFilter, and WriterInterceptor that provides zero-code idempotency protection for any JAX-RS resource.
IdempotencyContainerFilter() - Constructor for class io.github.ravocode.avoonce.jaxrs.IdempotencyContainerFilter
Protected no-arg constructor for CDI proxying and frameworks.
IdempotencyContainerFilter(IdempotencyRepository) - Constructor for class io.github.ravocode.avoonce.jaxrs.IdempotencyContainerFilter
Creates a filter with default configuration.
IdempotencyContainerFilter(IdempotencyRepository, IdempotencyJaxRsConfig) - Constructor for class io.github.ravocode.avoonce.jaxrs.IdempotencyContainerFilter
Creates a filter with custom configuration.
IdempotencyFilter - Class in io.github.ravocode.avoonce.spring
Spring Web Servlet Filter that provides selective idempotency protection for endpoints annotated with Idempotent.
IdempotencyFilter(IdempotencyManager, IdempotencyProperties) - Constructor for class io.github.ravocode.avoonce.spring.IdempotencyFilter
Constructs an IdempotencyFilter with the given manager and configuration properties.
IdempotencyFilter(IdempotencyManager, IdempotencyProperties, ObjectProvider) - Constructor for class io.github.ravocode.avoonce.spring.IdempotencyFilter
Constructs an IdempotencyFilter with a handler mapping provider.
IdempotencyFilterProducer - Class in io.github.ravocode.avoonce.sample.quarkus
CDI producer that exposes the sample in-memory repository for Quarkus.
IdempotencyFilterProducer() - Constructor for class io.github.ravocode.avoonce.sample.quarkus.IdempotencyFilterProducer
Creates a new producer instance.
idempotencyFilterRegistration(IdempotencyManager, IdempotencyProperties, ObjectProvider) - Method in class io.github.ravocode.avoonce.spring.IdempotencyAutoConfiguration
Registers the IdempotencyFilter as a Spring Boot servlet filter.
IdempotencyJaxRsConfig - Class in io.github.ravocode.avoonce.jaxrs
Framework-agnostic configuration for the JAX-RS idempotency filter.
IdempotencyJaxRsConfig() - Constructor for class io.github.ravocode.avoonce.jaxrs.IdempotencyJaxRsConfig
Creates a new configuration instance with the default values.
idempotencyManager(IdempotencyRepository) - Method in class io.github.ravocode.avoonce.spring.IdempotencyAutoConfiguration
Creates the primary IdempotencyManager bean backed by the resolved IdempotencyRepository.
IdempotencyManager - Class in io.github.ravocode.avoonce.core
Core state machine that enforces exactly-once processing rules.
IdempotencyManager(IdempotencyRepository) - Constructor for class io.github.ravocode.avoonce.core.IdempotencyManager
Constructs an IdempotencyManager using the default Sha256RequestHasher.
IdempotencyManager(IdempotencyRepository, RequestHasher) - Constructor for class io.github.ravocode.avoonce.core.IdempotencyManager
Constructs an IdempotencyManager with a custom RequestHasher.
IdempotencyMismatchException - Exception Class in io.github.ravocode.avoonce.core.exception
Thrown when an existing idempotency key is reused with a different request payload.
IdempotencyMismatchException(String) - Constructor for exception class io.github.ravocode.avoonce.core.exception.IdempotencyMismatchException
Constructs an IdempotencyMismatchException with the given detail message.
IdempotencyProperties - Class in io.github.ravocode.avoonce.spring
Configuration properties for the AvoOnce idempotency library.
IdempotencyProperties() - Constructor for class io.github.ravocode.avoonce.spring.IdempotencyProperties
Creates a new properties instance with the default settings.
IdempotencyProperties.EvictionProperties - Class in io.github.ravocode.avoonce.spring
Scheduled eviction configuration (avoonce.idempotency.jdbc.eviction.*).
IdempotencyProperties.JdbcProperties - Class in io.github.ravocode.avoonce.spring
JDBC-specific configuration properties (avoonce.idempotency.jdbc.*).
IdempotencyRecord - Class in io.github.ravocode.avoonce.core.domain
Immutable value object representing a single idempotency record stored in the repository.
IdempotencyRecord(String, IdempotencyStatus, IdempotencyResponse, Long) - Constructor for class io.github.ravocode.avoonce.core.domain.IdempotencyRecord
Constructs an IdempotencyRecord without a request hash (hash validation disabled).
IdempotencyRecord(String, IdempotencyStatus, IdempotencyResponse, Long, String) - Constructor for class io.github.ravocode.avoonce.core.domain.IdempotencyRecord
Constructs an IdempotencyRecord with full fields including a request hash.
idempotencyRepository() - Method in class io.github.ravocode.avoonce.sample.quarkus.IdempotencyFilterProducer
Produces the repository used by the Quarkus JAX-RS filter.
IdempotencyRepository - Interface in io.github.ravocode.avoonce.core.spi
Service Provider Interface for pluggable infrastructure storage.
IdempotencyResponse - Class in io.github.ravocode.avoonce.core.domain
Immutable value object encapsulating the cached HTTP response for a successfully processed idempotent request.
IdempotencyResponse(int, Map, byte[]) - Constructor for class io.github.ravocode.avoonce.core.domain.IdempotencyResponse
Constructs an IdempotencyResponse capturing the full HTTP response.
IdempotencyStatus - Enum Class in io.github.ravocode.avoonce.core.domain
Represents the lifecycle state of an idempotency request.
Idempotent - Annotation Interface in io.github.ravocode.avoonce.jaxrs
JAX-RS NameBinding annotation for selective idempotency protection.
Idempotent - Annotation Interface in io.github.ravocode.avoonce.spring.annotation
Annotation for selective idempotency protection on Spring MVC controllers or handler methods.
initialize(DataSource) - Method in class io.github.ravocode.avoonce.jdbc.JdbcIdempotencyTableInitializer
Creates the idempotency_records table and its index if they do not already exist.
io.github.ravocode.avoonce.caffeine - package io.github.ravocode.avoonce.caffeine
 
io.github.ravocode.avoonce.core - package io.github.ravocode.avoonce.core
 
io.github.ravocode.avoonce.core.config - package io.github.ravocode.avoonce.core.config
 
io.github.ravocode.avoonce.core.domain - package io.github.ravocode.avoonce.core.domain
 
io.github.ravocode.avoonce.core.exception - package io.github.ravocode.avoonce.core.exception
 
io.github.ravocode.avoonce.core.hash - package io.github.ravocode.avoonce.core.hash
 
io.github.ravocode.avoonce.core.spi - package io.github.ravocode.avoonce.core.spi
 
io.github.ravocode.avoonce.jaxrs - package io.github.ravocode.avoonce.jaxrs
 
io.github.ravocode.avoonce.jdbc - package io.github.ravocode.avoonce.jdbc
 
io.github.ravocode.avoonce.redis - package io.github.ravocode.avoonce.redis
 
io.github.ravocode.avoonce.sample - package io.github.ravocode.avoonce.sample
 
io.github.ravocode.avoonce.sample.quarkus - package io.github.ravocode.avoonce.sample.quarkus
 
io.github.ravocode.avoonce.spring - package io.github.ravocode.avoonce.spring
 
io.github.ravocode.avoonce.spring.annotation - package io.github.ravocode.avoonce.spring.annotation
 
isAutoDdl() - Method in class io.github.ravocode.avoonce.spring.IdempotencyProperties.JdbcProperties
Returns whether the schema should be initialized automatically.
isEnabled() - Method in class io.github.ravocode.avoonce.spring.IdempotencyProperties.EvictionProperties
Returns whether periodic eviction is enabled.
isEnforce() - Method in class io.github.ravocode.avoonce.jaxrs.IdempotencyJaxRsConfig
Returns whether missing idempotency headers are rejected.
isEnforce() - Method in class io.github.ravocode.avoonce.spring.IdempotencyProperties
Returns whether requests missing the idempotency key are rejected.
isHashBody() - Method in class io.github.ravocode.avoonce.jaxrs.IdempotencyJaxRsConfig
Returns whether request bodies are hashed for payload mismatch detection.
isHashBody() - Method in class io.github.ravocode.avoonce.spring.IdempotencyProperties
Returns whether request bodies should be hashed for payload mismatch detection.
isNameBinding() - Method in class io.github.ravocode.avoonce.jaxrs.IdempotencyContainerFilter
Checks if this filter instance is configured for name-binding.

J

jdbcAutoRepository(DataSource, IdempotencyConfig) - Method in class io.github.ravocode.avoonce.spring.JdbcIdempotencyAutoConfiguration
Auto-wires the JDBC repository when DataSource is present, Caffeine is absent, and store property is auto.
jdbcEvictionTask(JdbcIdempotencyRepository) - Method in class io.github.ravocode.avoonce.spring.JdbcIdempotencyAutoConfiguration
Configures the scheduled background cleanup task for expired JDBC idempotency records.
JdbcEvictionTask(IdempotencyRepository) - Constructor for class io.github.ravocode.avoonce.spring.JdbcIdempotencyAutoConfiguration.JdbcEvictionTask
Constructs a JdbcEvictionTask with the given repository.
jdbcExplicitRepository(DataSource, IdempotencyConfig) - Method in class io.github.ravocode.avoonce.spring.JdbcIdempotencyAutoConfiguration
Wires the JDBC repository when avoonce.idempotency.store=jdbc is explicitly set.
JdbcIdempotencyAutoConfiguration - Class in io.github.ravocode.avoonce.spring
Auto-configuration for JDBC-backed idempotency repositories.
JdbcIdempotencyAutoConfiguration() - Constructor for class io.github.ravocode.avoonce.spring.JdbcIdempotencyAutoConfiguration
Creates a new auto-configuration instance.
JdbcIdempotencyAutoConfiguration.JdbcEvictionTask - Class in io.github.ravocode.avoonce.spring
Scheduled background task that triggers eviction of expired records from the JDBC store.
JdbcIdempotencyRepository - Class in io.github.ravocode.avoonce.jdbc
A distributed IdempotencyRepository backed by any JDBC-compatible database.
JdbcIdempotencyRepository(DataSource, IdempotencyConfig) - Constructor for class io.github.ravocode.avoonce.jdbc.JdbcIdempotencyRepository
Constructs a JDBC-backed repository using the supplied data source and configuration.
JdbcIdempotencyTableInitializer - Class in io.github.ravocode.avoonce.jdbc
Plain POJO that creates the idempotency_records table if it does not already exist.
JdbcIdempotencyTableInitializer() - Constructor for class io.github.ravocode.avoonce.jdbc.JdbcIdempotencyTableInitializer
 
JdbcProperties() - Constructor for class io.github.ravocode.avoonce.spring.IdempotencyProperties.JdbcProperties
Creates a new JDBC properties instance with default values.
jdbcTableInitializer(DataSource) - Method in class io.github.ravocode.avoonce.spring.JdbcIdempotencyAutoConfiguration
Automatically initializes the idempotency database table if auto-ddl is enabled.
JedisAdapterAutoConfiguration - Class in io.github.ravocode.avoonce.spring
Auto-configuration that adapts a Spring JedisPool bean into a Redis operations bridge.
JedisAdapterAutoConfiguration() - Constructor for class io.github.ravocode.avoonce.spring.JedisAdapterAutoConfiguration
Creates a new auto-configuration instance.
jedisRedisOperations(JedisPool) - Method in class io.github.ravocode.avoonce.spring.JedisAdapterAutoConfiguration
Creates a JedisRedisOperations bridge bean when a JedisPool bean is present.
JedisRedisOperations - Class in io.github.ravocode.avoonce.redis
A RedisOperations adapter for the Jedis client.
JedisRedisOperations(JedisPool) - Constructor for class io.github.ravocode.avoonce.redis.JedisRedisOperations
Constructs a JedisRedisOperations instance using the given JedisPool.

L

LettuceAdapterAutoConfiguration - Class in io.github.ravocode.avoonce.spring
Auto-configuration that adapts a Spring Lettuce RedisClient bean into a Redis operations bridge.
LettuceAdapterAutoConfiguration() - Constructor for class io.github.ravocode.avoonce.spring.LettuceAdapterAutoConfiguration
Creates a new auto-configuration instance.
lettuceRedisOperations(RedisClient) - Method in class io.github.ravocode.avoonce.spring.LettuceAdapterAutoConfiguration
Creates a LettuceRedisOperations bridge bean when a Lettuce RedisClient bean is present.
LettuceRedisOperations - Class in io.github.ravocode.avoonce.redis
A RedisOperations adapter for the Lettuce client.
LettuceRedisOperations(StatefulRedisConnection) - Constructor for class io.github.ravocode.avoonce.redis.LettuceRedisOperations
Creates a new operations adapter using an existing connection.
LettuceRedisOperations(RedisClient) - Constructor for class io.github.ravocode.avoonce.redis.LettuceRedisOperations
Creates a new operations adapter using the provided Lettuce client.

M

main(String[]) - Static method in class io.github.ravocode.avoonce.sample.SampleApplication
Starts the sample application.

P

PaymentController - Class in io.github.ravocode.avoonce.sample
Sample REST controller demonstrating selective idempotency protection for payment endpoints.
PaymentController() - Constructor for class io.github.ravocode.avoonce.sample.PaymentController
 
PaymentController.PaymentRequest - Class in io.github.ravocode.avoonce.sample
Incoming payment request payload used by the controller.
PaymentController.PaymentResponse - Class in io.github.ravocode.avoonce.sample
Response payload returned after processing a payment request.
PaymentRequest() - Constructor for class io.github.ravocode.avoonce.sample.PaymentController.PaymentRequest
 
PaymentRequest() - Constructor for class io.github.ravocode.avoonce.sample.quarkus.PaymentResource.PaymentRequest
 
PaymentResource - Class in io.github.ravocode.avoonce.sample.quarkus
Sample JAX-RS resource in Quarkus demonstrating selective idempotency protection using the Idempotent name-binding annotation.
PaymentResource() - Constructor for class io.github.ravocode.avoonce.sample.quarkus.PaymentResource
 
PaymentResource.CountResponse - Class in io.github.ravocode.avoonce.sample.quarkus
Response payload used for the process-count endpoint.
PaymentResource.PaymentRequest - Class in io.github.ravocode.avoonce.sample.quarkus
Incoming payment request payload used by the Quarkus resource.
PaymentResource.PaymentResponse - Class in io.github.ravocode.avoonce.sample.quarkus
Response payload returned after processing a payment request.
PaymentResponse() - Constructor for class io.github.ravocode.avoonce.sample.PaymentController.PaymentResponse
Default constructor for serialization frameworks.
PaymentResponse() - Constructor for class io.github.ravocode.avoonce.sample.quarkus.PaymentResource.PaymentResponse
Default constructor for serialization frameworks.
PaymentResponse(String, String, int) - Constructor for class io.github.ravocode.avoonce.sample.PaymentController.PaymentResponse
Creates a payment response with the supplied outcome details.
PaymentResponse(String, String, int) - Constructor for class io.github.ravocode.avoonce.sample.quarkus.PaymentResource.PaymentResponse
Creates a payment response with the supplied outcome details.
processedAttempts - Variable in class io.github.ravocode.avoonce.sample.PaymentController.PaymentResponse
The number of processing attempts observed so far.
processedAttempts - Variable in class io.github.ravocode.avoonce.sample.quarkus.PaymentResource.PaymentResponse
The number of processing attempts observed so far.
processPayment(PaymentController.PaymentRequest) - Method in class io.github.ravocode.avoonce.sample.PaymentController
Protected endpoint: annotated with Idempotent.
processPayment(PaymentResource.PaymentRequest) - Method in class io.github.ravocode.avoonce.sample.quarkus.PaymentResource
Protected endpoint: annotated with Idempotent.
processUnprotectedPayment(PaymentController.PaymentRequest) - Method in class io.github.ravocode.avoonce.sample.PaymentController
Unprotected endpoint: NOT annotated with Idempotent.
processUnprotectedPayment(PaymentResource.PaymentRequest) - Method in class io.github.ravocode.avoonce.sample.quarkus.PaymentResource
Unprotected endpoint: NOT annotated with Idempotent.

R

redisAutoRepository(RedisOperations, IdempotencyConfig) - Method in class io.github.ravocode.avoonce.spring.RedisIdempotencyAutoConfiguration
Auto-wires the Redis repository when RedisOperations bean is present and store property is auto.
redisExplicitRepository(RedisOperations, IdempotencyConfig) - Method in class io.github.ravocode.avoonce.spring.RedisIdempotencyAutoConfiguration
Wires the Redis repository when avoonce.idempotency.store=redis is explicitly set.
RedisIdempotencyAutoConfiguration - Class in io.github.ravocode.avoonce.spring
Auto-configuration for Redis-backed idempotency repositories.
RedisIdempotencyAutoConfiguration() - Constructor for class io.github.ravocode.avoonce.spring.RedisIdempotencyAutoConfiguration
Creates a new auto-configuration instance.
RedisIdempotencyRepository - Class in io.github.ravocode.avoonce.redis
A distributed IdempotencyRepository backed by Redis using Jedis.
RedisIdempotencyRepository(RedisOperations, IdempotencyConfig) - Constructor for class io.github.ravocode.avoonce.redis.RedisIdempotencyRepository
Constructs a RedisIdempotencyRepository.
RedisOperations - Interface in io.github.ravocode.avoonce.redis
Service Provider Interface for basic Redis operations.
Registration (Jersey example) - Section in class io.github.ravocode.avoonce.jaxrs.IdempotencyContainerFilter
 
Registration (Quarkus CDI example) - Section in class io.github.ravocode.avoonce.jaxrs.IdempotencyContainerFilter
 
RequestHasher - Interface in io.github.ravocode.avoonce.core.hash
Strategy interface for computing a deterministic hash of an HTTP request body.
resetCount() - Method in class io.github.ravocode.avoonce.sample.PaymentController
Resets the sample controller's processing counter.
resetCount() - Method in class io.github.ravocode.avoonce.sample.quarkus.PaymentResource
Resets the sample resource's processing counter.

S

SampleApplication - Class in io.github.ravocode.avoonce.sample
Spring Boot entry point for the sample application.
SampleApplication() - Constructor for class io.github.ravocode.avoonce.sample.SampleApplication
 
saveFailure(String, String) - Method in class io.github.ravocode.avoonce.caffeine.CaffeineIdempotencyRepository
Transitions the record for the given key to IdempotencyStatus.FAILED, allowing the client to safely retry the operation.
saveFailure(String, String) - Method in interface io.github.ravocode.avoonce.core.spi.IdempotencyRepository
Clears the active lock and updates the state to FAILED.
saveFailure(String, String) - Method in class io.github.ravocode.avoonce.jdbc.JdbcIdempotencyRepository
 
saveFailure(String, String) - Method in class io.github.ravocode.avoonce.redis.RedisIdempotencyRepository
Clears the active lock and updates the state to FAILED.
saveSuccess(String, IdempotencyResponse) - Method in class io.github.ravocode.avoonce.caffeine.CaffeineIdempotencyRepository
Transitions the record for the given key to IdempotencyStatus.COMPLETED and stores the response.
saveSuccess(String, IdempotencyResponse) - Method in interface io.github.ravocode.avoonce.core.spi.IdempotencyRepository
Updates an existing record with a successful payload and sets the state to COMPLETED.
saveSuccess(String, IdempotencyResponse) - Method in class io.github.ravocode.avoonce.jdbc.JdbcIdempotencyRepository
 
saveSuccess(String, IdempotencyResponse) - Method in class io.github.ravocode.avoonce.redis.RedisIdempotencyRepository
Updates an existing record with a successful payload and sets the state to COMPLETED.
set(byte[], byte[], long) - Method in class io.github.ravocode.avoonce.redis.JedisRedisOperations
Updates an existing key with a new value and extends its time-to-live.
set(byte[], byte[], long) - Method in class io.github.ravocode.avoonce.redis.LettuceRedisOperations
Updates an existing key with a new value and extends its time-to-live.
set(byte[], byte[], long) - Method in interface io.github.ravocode.avoonce.redis.RedisOperations
Updates an existing key with a new value and extends its time-to-live.
setAutoDdl(boolean) - Method in class io.github.ravocode.avoonce.spring.IdempotencyProperties.JdbcProperties
Sets whether the schema should be initialized automatically.
setEnabled(boolean) - Method in class io.github.ravocode.avoonce.spring.IdempotencyProperties.EvictionProperties
Sets whether periodic eviction is enabled.
setEnforce(boolean) - Method in class io.github.ravocode.avoonce.jaxrs.IdempotencyJaxRsConfig
Enables or disables strict rejection of requests that omit the idempotency header.
setEnforce(boolean) - Method in class io.github.ravocode.avoonce.spring.IdempotencyProperties
Sets whether requests missing the idempotency key are rejected.
setEviction(IdempotencyProperties.EvictionProperties) - Method in class io.github.ravocode.avoonce.spring.IdempotencyProperties.JdbcProperties
Sets the eviction scheduling settings.
setHashBody(boolean) - Method in class io.github.ravocode.avoonce.jaxrs.IdempotencyJaxRsConfig
Enables or disables hashing the request body for payload mismatch detection.
setHashBody(boolean) - Method in class io.github.ravocode.avoonce.spring.IdempotencyProperties
Sets whether request bodies should be hashed for payload mismatch detection.
setHeaderName(String) - Method in class io.github.ravocode.avoonce.jaxrs.IdempotencyJaxRsConfig
Sets the HTTP header used to transport the idempotency key.
setHeaderName(String) - Method in class io.github.ravocode.avoonce.spring.IdempotencyProperties
Sets the request header used to carry the idempotency key.
setIfAbsent(byte[], byte[], long) - Method in class io.github.ravocode.avoonce.redis.JedisRedisOperations
Atomically sets a key to a value with a time-to-live only if the key does not already exist.
setIfAbsent(byte[], byte[], long) - Method in class io.github.ravocode.avoonce.redis.LettuceRedisOperations
Atomically sets a key to a value with a time-to-live only if the key does not already exist.
setIfAbsent(byte[], byte[], long) - Method in interface io.github.ravocode.avoonce.redis.RedisOperations
Atomically sets a key to a value with a time-to-live only if the key does not already exist.
setIntervalMs(long) - Method in class io.github.ravocode.avoonce.spring.IdempotencyProperties.EvictionProperties
Sets the interval between eviction runs in milliseconds.
setJdbc(IdempotencyProperties.JdbcProperties) - Method in class io.github.ravocode.avoonce.spring.IdempotencyProperties
Sets the JDBC-specific configuration properties.
setLockTimeout(long) - Method in class io.github.ravocode.avoonce.spring.IdempotencyProperties
Sets the maximum duration a lock may remain active before it is considered stale.
setLockTimeoutUnit(TimeUnit) - Method in class io.github.ravocode.avoonce.spring.IdempotencyProperties
Sets the time unit for the lock timeout.
setStore(String) - Method in class io.github.ravocode.avoonce.spring.IdempotencyProperties
Sets the selected backing store name.
setTtl(long) - Method in class io.github.ravocode.avoonce.spring.IdempotencyProperties
Sets the configured cache TTL value.
setTtlUnit(TimeUnit) - Method in class io.github.ravocode.avoonce.spring.IdempotencyProperties
Sets the time unit for the cache TTL.
Sha256RequestHasher - Class in io.github.ravocode.avoonce.core.hash
Default RequestHasher that produces a lowercase hex-encoded SHA-256 digest.
Sha256RequestHasher() - Constructor for class io.github.ravocode.avoonce.core.hash.Sha256RequestHasher
 
STARTED - Enum constant in enum class io.github.ravocode.avoonce.core.domain.IdempotencyStatus
The request is currently being processed by the system.
status - Variable in class io.github.ravocode.avoonce.sample.PaymentController.PaymentResponse
The processing status for the payment.
status - Variable in class io.github.ravocode.avoonce.sample.quarkus.PaymentResource.PaymentResponse
The processing status for the payment.
Supported databases - Section in class io.github.ravocode.avoonce.jdbc.JdbcIdempotencyRepository
 

T

transactionId - Variable in class io.github.ravocode.avoonce.sample.PaymentController.PaymentResponse
The generated transaction identifier.
transactionId - Variable in class io.github.ravocode.avoonce.sample.quarkus.PaymentResource.PaymentResponse
The generated transaction identifier.

U

Usage - Section in annotation interface io.github.ravocode.avoonce.jaxrs.Idempotent
 
Usage (non-Spring) - Section in class io.github.ravocode.avoonce.jdbc.JdbcIdempotencyRepository
 

V

valueOf(String) - Static method in enum class io.github.ravocode.avoonce.core.domain.IdempotencyStatus
Returns the enum constant of this class with the specified name.
values() - Static method in enum class io.github.ravocode.avoonce.core.domain.IdempotencyStatus
Returns an array containing the constants of this enum class, in the order they are declared.

W

withNameBinding() - Method in class io.github.ravocode.avoonce.jaxrs.IdempotencyContainerFilter
Marks this filter instance for name-binding via Idempotent.
A C D E F G H I J L M P R S T U V W 
All Classes and Interfaces|All Packages|Serialized Form