From eb9e346c664cedbe4eabb9039520c8de99bba616 Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Wed, 8 Apr 2020 09:38:18 +0200 Subject: [PATCH] DATAJDBC-518 - Polishing. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Tweak Javadoc to reflect the used type. Create Criteria objects via Criteria.from(…) to expose the Criteria API without the need of casting. Original pull request: #205. --- .../data/relational/core/query/Criteria.java | 21 +++++++++++-------- .../core/query/CriteriaDefinition.java | 16 +++++++------- 2 files changed, 21 insertions(+), 16 deletions(-) diff --git a/spring-data-relational/src/main/java/org/springframework/data/relational/core/query/Criteria.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/query/Criteria.java index 7672e6a6..19a4d15f 100644 --- a/spring-data-relational/src/main/java/org/springframework/data/relational/core/query/Criteria.java +++ b/spring-data-relational/src/main/java/org/springframework/data/relational/core/query/Criteria.java @@ -113,7 +113,7 @@ public class Criteria implements CriteriaDefinition { * * @return new {@link Criteria}. */ - public static CriteriaDefinition from(CriteriaDefinition... criteria) { + public static Criteria from(Criteria... criteria) { Assert.notNull(criteria, "Criteria must not be null"); Assert.noNullElements(criteria, "Criteria must not contain null elements"); @@ -126,7 +126,7 @@ public class Criteria implements CriteriaDefinition { * * @return new {@link Criteria}. */ - public static CriteriaDefinition from(List criteria) { + public static Criteria from(List criteria) { Assert.notNull(criteria, "Criteria must not be null"); Assert.noNullElements(criteria, "Criteria must not contain null elements"); @@ -168,7 +168,7 @@ public class Criteria implements CriteriaDefinition { SqlIdentifier identifier = SqlIdentifier.unquoted(column); return new DefaultCriteriaStep(identifier) { @Override - protected Criteria createCriteria(Comparator comparator, Object value) { + protected Criteria createCriteria(Comparator comparator, @Nullable Object value) { return new Criteria(Criteria.this, Combinator.AND, Collections.emptyList(), identifier, comparator, value); } }; @@ -194,11 +194,12 @@ public class Criteria implements CriteriaDefinition { * @param criteria criteria objects. * @return a new {@link Criteria} object. */ - public Criteria and(List criteria) { + @SuppressWarnings("unchecked") + public Criteria and(List criteria) { Assert.notNull(criteria, "Criteria must not be null!"); - return new Criteria(Criteria.this, Combinator.AND, criteria); + return new Criteria(Criteria.this, Combinator.AND, (List) criteria); } /** @@ -214,7 +215,7 @@ public class Criteria implements CriteriaDefinition { SqlIdentifier identifier = SqlIdentifier.unquoted(column); return new DefaultCriteriaStep(identifier) { @Override - protected Criteria createCriteria(Comparator comparator, Object value) { + protected Criteria createCriteria(Comparator comparator, @Nullable Object value) { return new Criteria(Criteria.this, Combinator.OR, Collections.emptyList(), identifier, comparator, value); } }; @@ -241,11 +242,12 @@ public class Criteria implements CriteriaDefinition { * @return a new {@link Criteria} object. * @since 1.1 */ - public Criteria or(List criteria) { + @SuppressWarnings("unchecked") + public Criteria or(List criteria) { Assert.notNull(criteria, "Criteria must not be null!"); - return new Criteria(Criteria.this, Combinator.OR, criteria); + return new Criteria(Criteria.this, Combinator.OR, (List) criteria); } /** @@ -336,6 +338,7 @@ public class Criteria implements CriteriaDefinition { return combinator; } + @Override public List getGroup() { return group; } @@ -858,7 +861,7 @@ public class Criteria implements CriteriaDefinition { return createCriteria(Comparator.IS_FALSE, null); } - protected Criteria createCriteria(Comparator comparator, Object value) { + protected Criteria createCriteria(Comparator comparator, @Nullable Object value) { return new Criteria(this.property, comparator, value); } } diff --git a/spring-data-relational/src/main/java/org/springframework/data/relational/core/query/CriteriaDefinition.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/query/CriteriaDefinition.java index a0073edc..27e68e30 100644 --- a/spring-data-relational/src/main/java/org/springframework/data/relational/core/query/CriteriaDefinition.java +++ b/spring-data-relational/src/main/java/org/springframework/data/relational/core/query/CriteriaDefinition.java @@ -33,18 +33,19 @@ import org.springframework.util.Assert; public interface CriteriaDefinition { /** - * Static factory method to create an empty Criteria. + * Static factory method to create an empty {@link CriteriaDefinition}. * - * @return an empty {@link Criteria}. + * @return an empty {@link CriteriaDefinition}. */ static CriteriaDefinition empty() { return Criteria.EMPTY; } /** - * Create a new {@link Criteria} and combine it as group with {@code AND} using the provided {@link List Criterias}. + * Create a new {@link CriteriaDefinition} and combine it as group with {@code AND} using the provided {@link List + * Criterias}. * - * @return new {@link Criteria}. + * @return new {@link CriteriaDefinition}. */ static CriteriaDefinition from(CriteriaDefinition... criteria) { @@ -55,12 +56,13 @@ public interface CriteriaDefinition { } /** - * Create a new {@link Criteria} and combine it as group with {@code AND} using the provided {@link List Criterias}. + * Create a new {@link CriteriaDefinition} and combine it as group with {@code AND} using the provided {@link List + * Criterias}. * - * @return new {@link Criteria}. + * @return new {@link CriteriaDefinition}. * @since 1.1 */ - static CriteriaDefinition from(List criteria) { + static CriteriaDefinition from(List criteria) { Assert.notNull(criteria, "Criteria must not be null"); Assert.noNullElements(criteria, "Criteria must not contain null elements");