From 7a893660757e2d360acb290140ceaab9dabb92a0 Mon Sep 17 00:00:00 2001 From: Christoph Strobl Date: Tue, 26 Sep 2017 13:55:11 +0200 Subject: [PATCH] DATAKV-197 - Polishing. Update JavaDoc, fix trailing whitespace and add missing @Nullable annotations to methods potentially returning null values. Original Pull Request:#28 --- .../data/keyvalue/core/CriteriaAccessor.java | 4 +++- .../data/keyvalue/core/KeyValueTemplate.java | 2 +- .../springframework/data/keyvalue/core/SortAccessor.java | 2 ++ .../springframework/data/keyvalue/core/SpelQueryEngine.java | 6 +++--- .../data/keyvalue/core/UncategorizedKeyValueException.java | 4 ++-- .../data/keyvalue/core/event/KeyValueEvent.java | 3 ++- .../core/mapping/BasicKeyValuePersistentEntity.java | 3 ++- .../keyvalue/core/mapping/KeyValuePersistentEntity.java | 4 +++- 8 files changed, 18 insertions(+), 10 deletions(-) diff --git a/src/main/java/org/springframework/data/keyvalue/core/CriteriaAccessor.java b/src/main/java/org/springframework/data/keyvalue/core/CriteriaAccessor.java index b29cfd5..fa1ebfd 100644 --- a/src/main/java/org/springframework/data/keyvalue/core/CriteriaAccessor.java +++ b/src/main/java/org/springframework/data/keyvalue/core/CriteriaAccessor.java @@ -16,6 +16,7 @@ package org.springframework.data.keyvalue.core; import org.springframework.data.keyvalue.core.query.KeyValueQuery; +import org.springframework.lang.Nullable; /** * Resolves the criteria object from given {@link KeyValueQuery}. @@ -31,9 +32,10 @@ public interface CriteriaAccessor { * transformation to match the desired type. * * @param query must not be {@literal null}. - * @return the criteria extracted from the query. + * @return the criteria extracted from the query. Can be {@literal null}. * @throws IllegalArgumentException in case the criteria is not valid for usage with specific * {@link CriteriaAccessor}. */ + @Nullable T resolve(KeyValueQuery query); } diff --git a/src/main/java/org/springframework/data/keyvalue/core/KeyValueTemplate.java b/src/main/java/org/springframework/data/keyvalue/core/KeyValueTemplate.java index 85755ac..64fe565 100644 --- a/src/main/java/org/springframework/data/keyvalue/core/KeyValueTemplate.java +++ b/src/main/java/org/springframework/data/keyvalue/core/KeyValueTemplate.java @@ -348,7 +348,7 @@ public class KeyValueTemplate implements KeyValueOperations, ApplicationEventPub /** * Execute {@link KeyValueCallback} and require a non-{@literal null} return value. - * + * * @param action * @param * @return diff --git a/src/main/java/org/springframework/data/keyvalue/core/SortAccessor.java b/src/main/java/org/springframework/data/keyvalue/core/SortAccessor.java index 5ab01b4..5c51ebb 100644 --- a/src/main/java/org/springframework/data/keyvalue/core/SortAccessor.java +++ b/src/main/java/org/springframework/data/keyvalue/core/SortAccessor.java @@ -17,6 +17,7 @@ package org.springframework.data.keyvalue.core; import org.springframework.data.domain.Sort; import org.springframework.data.keyvalue.core.query.KeyValueQuery; +import org.springframework.lang.Nullable; /** * Resolves the {@link Sort} object from given {@link KeyValueQuery} and potentially converts it into a store specific @@ -35,5 +36,6 @@ public interface SortAccessor { * @param query must not be {@literal null}. * @return {@literal null} in case {@link Sort} has not been defined on {@link KeyValueQuery}. */ + @Nullable T resolve(KeyValueQuery query); } diff --git a/src/main/java/org/springframework/data/keyvalue/core/SpelQueryEngine.java b/src/main/java/org/springframework/data/keyvalue/core/SpelQueryEngine.java index 316057c..c1e0ee7 100644 --- a/src/main/java/org/springframework/data/keyvalue/core/SpelQueryEngine.java +++ b/src/main/java/org/springframework/data/keyvalue/core/SpelQueryEngine.java @@ -52,7 +52,7 @@ class SpelQueryEngine extends QueryEngine execute(SpelCriteria criteria, Comparator sort, long offset, int rows, String keyspace) { + public Collection execute(@Nullable SpelCriteria criteria, @Nullable Comparator sort, long offset, int rows, String keyspace) { return sortAndFilterMatchingRange(getRequiredAdapter().getAllOf(keyspace), criteria, sort, offset, rows); } @@ -61,13 +61,13 @@ class SpelQueryEngine extends QueryEngine sortAndFilterMatchingRange(Iterable source, SpelCriteria criteria, @Nullable Comparator sort, + private List sortAndFilterMatchingRange(Iterable source, @Nullable SpelCriteria criteria, @Nullable Comparator sort, long offset, int rows) { List tmp = IterableConverter.toList(source); diff --git a/src/main/java/org/springframework/data/keyvalue/core/UncategorizedKeyValueException.java b/src/main/java/org/springframework/data/keyvalue/core/UncategorizedKeyValueException.java index 05f63e7..aef4d91 100644 --- a/src/main/java/org/springframework/data/keyvalue/core/UncategorizedKeyValueException.java +++ b/src/main/java/org/springframework/data/keyvalue/core/UncategorizedKeyValueException.java @@ -20,7 +20,7 @@ import org.springframework.dao.UncategorizedDataAccessException; /** * Normal superclass when we can't distinguish anything more specific than "something went wrong with the underlying * resource". - * + * * @author Christoph Strobl * @author Mark Paluch */ @@ -30,7 +30,7 @@ public class UncategorizedKeyValueException extends UncategorizedDataAccessExcep /** * Creates a new {@link UncategorizedKeyValueException}. - * + * * @param msg the detail message. * @param cause the root cause (usually from using a underlying data access API). */ diff --git a/src/main/java/org/springframework/data/keyvalue/core/event/KeyValueEvent.java b/src/main/java/org/springframework/data/keyvalue/core/event/KeyValueEvent.java index 236116e..e28d7be 100644 --- a/src/main/java/org/springframework/data/keyvalue/core/event/KeyValueEvent.java +++ b/src/main/java/org/springframework/data/keyvalue/core/event/KeyValueEvent.java @@ -347,8 +347,9 @@ public class KeyValueEvent extends ApplicationEvent { /** * Get the current value. * - * @return + * @return can be {@literal null}. */ + @Nullable public T after() { return getPayload(); } diff --git a/src/main/java/org/springframework/data/keyvalue/core/mapping/BasicKeyValuePersistentEntity.java b/src/main/java/org/springframework/data/keyvalue/core/mapping/BasicKeyValuePersistentEntity.java index 39aef43..50def6d 100644 --- a/src/main/java/org/springframework/data/keyvalue/core/mapping/BasicKeyValuePersistentEntity.java +++ b/src/main/java/org/springframework/data/keyvalue/core/mapping/BasicKeyValuePersistentEntity.java @@ -33,7 +33,7 @@ public class BasicKeyValuePersistentEntity type, @Nullable KeySpaceResolver fallback) { String keySpace = AnnotationBasedKeySpaceResolver.INSTANCE.resolveKeySpace(type); diff --git a/src/main/java/org/springframework/data/keyvalue/core/mapping/KeyValuePersistentEntity.java b/src/main/java/org/springframework/data/keyvalue/core/mapping/KeyValuePersistentEntity.java index 58cce33..c420c5e 100644 --- a/src/main/java/org/springframework/data/keyvalue/core/mapping/KeyValuePersistentEntity.java +++ b/src/main/java/org/springframework/data/keyvalue/core/mapping/KeyValuePersistentEntity.java @@ -16,6 +16,7 @@ package org.springframework.data.keyvalue.core.mapping; import org.springframework.data.mapping.model.MutablePersistentEntity; +import org.springframework.lang.Nullable; /** * @author Christoph Strobl @@ -27,7 +28,8 @@ public interface KeyValuePersistentEntity