From ce292f7fe5db11ac825b3f5956f1d18fc1f8dca6 Mon Sep 17 00:00:00 2001 From: Christoph Strobl Date: Mon, 10 Mar 2025 13:34:59 +0100 Subject: [PATCH] Polishing. Rename builder for ExpirationOptions, remove unused import and update javadoc. Original Pull Request: #3115 --- .../redis/connection/ExpirationOptions.java | 28 +++++++++++++------ .../redis/core/ReactiveRedisOperations.java | 2 +- .../data/redis/core/RedisOperations.java | 2 +- .../data/redis/core/types/Expiration.java | 1 - 4 files changed, 22 insertions(+), 11 deletions(-) diff --git a/src/main/java/org/springframework/data/redis/connection/ExpirationOptions.java b/src/main/java/org/springframework/data/redis/connection/ExpirationOptions.java index 2780b6149..900f27bd9 100644 --- a/src/main/java/org/springframework/data/redis/connection/ExpirationOptions.java +++ b/src/main/java/org/springframework/data/redis/connection/ExpirationOptions.java @@ -46,8 +46,8 @@ public class ExpirationOptions { /** * @return builder for creating {@code FieldExpireOptionsBuilder}. */ - public static FieldExpireOptionsBuilder builder() { - return new FieldExpireOptionsBuilder(); + public static ExpirationOptionsBuilder builder() { + return new ExpirationOptionsBuilder(); } public Condition getCondition() { @@ -74,32 +74,44 @@ public class ExpirationOptions { /** * Builder to build {@link ExpirationOptions} */ - public static class FieldExpireOptionsBuilder { + public static class ExpirationOptionsBuilder { private Condition condition = Condition.ALWAYS; - private FieldExpireOptionsBuilder() {} + private ExpirationOptionsBuilder() {} + /** + * Apply to fields that have no expiration. + */ @Contract("-> this") - public FieldExpireOptionsBuilder nx() { + public ExpirationOptionsBuilder nx() { this.condition = Condition.NX; return this; } + /** + * Apply to fields that have an existing expiration. + */ @Contract("-> this") - public FieldExpireOptionsBuilder xx() { + public ExpirationOptionsBuilder xx() { this.condition = Condition.XX; return this; } + /** + * Apply to fields when the new expiration is greater than the current one. + */ @Contract("-> this") - public FieldExpireOptionsBuilder gt() { + public ExpirationOptionsBuilder gt() { this.condition = Condition.GT; return this; } + /** + * Apply to fields when the new expiration is lower than the current one. + */ @Contract("-> this") - public FieldExpireOptionsBuilder lt() { + public ExpirationOptionsBuilder lt() { this.condition = Condition.LT; return this; } diff --git a/src/main/java/org/springframework/data/redis/core/ReactiveRedisOperations.java b/src/main/java/org/springframework/data/redis/core/ReactiveRedisOperations.java index 46faa1807..996ddbc58 100644 --- a/src/main/java/org/springframework/data/redis/core/ReactiveRedisOperations.java +++ b/src/main/java/org/springframework/data/redis/core/ReactiveRedisOperations.java @@ -382,7 +382,7 @@ public interface ReactiveRedisOperations { * @param key must not be {@literal null}. * @param expiration must not be {@literal null}. * @param options must not be {@literal null}. - * @throws IllegalArgumentException if the instant is {@literal null} or too large to represent as a {@code Date}. + * @throws IllegalArgumentException any of required arguments is {@literal null}. * @see Redis Documentation: EXPIRE * @see Redis Documentation: PEXPIRE * @see Redis Documentation: EXPIREAT diff --git a/src/main/java/org/springframework/data/redis/core/RedisOperations.java b/src/main/java/org/springframework/data/redis/core/RedisOperations.java index bb11c66a0..4ea682d90 100644 --- a/src/main/java/org/springframework/data/redis/core/RedisOperations.java +++ b/src/main/java/org/springframework/data/redis/core/RedisOperations.java @@ -375,7 +375,7 @@ public interface RedisOperations { * @param expiration must not be {@literal null}. * @param options must not be {@literal null}. * @return changes to the expiry. {@literal null} when used in pipeline / transaction. - * @throws IllegalArgumentException if the instant is {@literal null} or too large to represent as a {@code Date}. + * @throws IllegalArgumentException any of the required arguments is {@literal null}. * @see Redis Documentation: EXPIRE * @see Redis Documentation: PEXPIRE * @see Redis Documentation: EXPIREAT diff --git a/src/main/java/org/springframework/data/redis/core/types/Expiration.java b/src/main/java/org/springframework/data/redis/core/types/Expiration.java index a68dd516b..2e4627dbc 100644 --- a/src/main/java/org/springframework/data/redis/core/types/Expiration.java +++ b/src/main/java/org/springframework/data/redis/core/types/Expiration.java @@ -16,7 +16,6 @@ package org.springframework.data.redis.core.types; import java.time.Duration; -import java.util.Objects; import java.util.concurrent.TimeUnit; import org.springframework.data.redis.core.TimeoutUtils;