diff --git a/src/main/java/org/springframework/data/aot/DefaultAotContext.java b/src/main/java/org/springframework/data/aot/DefaultAotContext.java index e797ab651..03649f501 100644 --- a/src/main/java/org/springframework/data/aot/DefaultAotContext.java +++ b/src/main/java/org/springframework/data/aot/DefaultAotContext.java @@ -39,7 +39,7 @@ class DefaultAotContext implements AotContext { private final ConfigurableListableBeanFactory factory; public DefaultAotContext(BeanFactory beanFactory) { - factory = beanFactory instanceof ConfigurableListableBeanFactory ? (ConfigurableListableBeanFactory) beanFactory + factory = beanFactory instanceof ConfigurableListableBeanFactory cbf ? cbf : new DefaultListableBeanFactory(beanFactory); } diff --git a/src/main/java/org/springframework/data/convert/ConfigurableTypeInformationMapper.java b/src/main/java/org/springframework/data/convert/ConfigurableTypeInformationMapper.java index 5f063f1f5..0c61afa76 100644 --- a/src/main/java/org/springframework/data/convert/ConfigurableTypeInformationMapper.java +++ b/src/main/java/org/springframework/data/convert/ConfigurableTypeInformationMapper.java @@ -66,6 +66,7 @@ public class ConfigurableTypeInformationMapper implements TypeInformationMapper } } + @Override public Alias createAliasFor(TypeInformation type) { return typeToAlias.getOrDefault(type, Alias.NONE); } diff --git a/src/main/java/org/springframework/data/convert/MappingContextTypeInformationMapper.java b/src/main/java/org/springframework/data/convert/MappingContextTypeInformationMapper.java index af0bec875..7cddcc1ff 100644 --- a/src/main/java/org/springframework/data/convert/MappingContextTypeInformationMapper.java +++ b/src/main/java/org/springframework/data/convert/MappingContextTypeInformationMapper.java @@ -58,6 +58,7 @@ public class MappingContextTypeInformationMapper implements TypeInformationMappe } } + @Override public Alias createAliasFor(TypeInformation type) { return typeMap.computeIfAbsent(type.getRawTypeInformation(), key -> { diff --git a/src/main/java/org/springframework/data/convert/SimplePropertyValueConverterRegistry.java b/src/main/java/org/springframework/data/convert/SimplePropertyValueConverterRegistry.java index 560b5cdba..89f56d1b0 100644 --- a/src/main/java/org/springframework/data/convert/SimplePropertyValueConverterRegistry.java +++ b/src/main/java/org/springframework/data/convert/SimplePropertyValueConverterRegistry.java @@ -81,6 +81,7 @@ public class SimplePropertyValueConverterRegistry

()); } + @Override public void set(String key, Object o) { values.put(key, o); } @@ -49,15 +50,18 @@ public class HashMapChangeSet implements ChangeSet { return "HashMapChangeSet: values=[" + values + "]"; } + @Override public Map getValues() { return Collections.unmodifiableMap(values); } + @Override @Nullable public Object removeProperty(String k) { return this.values.remove(k); } + @Override @Nullable public T get(String key, Class requiredClass, ConversionService conversionService) { diff --git a/src/main/java/org/springframework/data/domain/Chunk.java b/src/main/java/org/springframework/data/domain/Chunk.java index 55e57ca25..73f6c637c 100644 --- a/src/main/java/org/springframework/data/domain/Chunk.java +++ b/src/main/java/org/springframework/data/domain/Chunk.java @@ -54,42 +54,52 @@ abstract class Chunk implements Slice, Serializable { this.pageable = pageable; } + @Override public int getNumber() { return pageable.isPaged() ? pageable.getPageNumber() : 0; } + @Override public int getSize() { return pageable.isPaged() ? pageable.getPageSize() : content.size(); } + @Override public int getNumberOfElements() { return content.size(); } + @Override public boolean hasPrevious() { return getNumber() > 0; } + @Override public boolean isFirst() { return !hasPrevious(); } + @Override public boolean isLast() { return !hasNext(); } + @Override public Pageable nextPageable() { return hasNext() ? pageable.next() : Pageable.unpaged(); } + @Override public Pageable previousPageable() { return hasPrevious() ? pageable.previousOrFirst() : Pageable.unpaged(); } + @Override public boolean hasContent() { return !content.isEmpty(); } + @Override public List getContent() { return Collections.unmodifiableList(content); } diff --git a/src/main/java/org/springframework/data/domain/Page.java b/src/main/java/org/springframework/data/domain/Page.java index 4c8450c53..a4f5cf17e 100644 --- a/src/main/java/org/springframework/data/domain/Page.java +++ b/src/main/java/org/springframework/data/domain/Page.java @@ -69,5 +69,6 @@ public interface Page extends Slice { * @return a new {@link Page} with the content of the current one mapped by the given {@link Function}. * @since 1.10 */ + @Override Page map(Function converter); } diff --git a/src/main/java/org/springframework/data/domain/PageRequest.java b/src/main/java/org/springframework/data/domain/PageRequest.java index 21b1678b5..23bfbb613 100644 --- a/src/main/java/org/springframework/data/domain/PageRequest.java +++ b/src/main/java/org/springframework/data/domain/PageRequest.java @@ -97,6 +97,7 @@ public class PageRequest extends AbstractPageRequest { return PageRequest.of(0, pageSize); } + @Override public Sort getSort() { return sort; } diff --git a/src/main/java/org/springframework/data/domain/Slice.java b/src/main/java/org/springframework/data/domain/Slice.java index bbe120235..624896d61 100644 --- a/src/main/java/org/springframework/data/domain/Slice.java +++ b/src/main/java/org/springframework/data/domain/Slice.java @@ -136,6 +136,7 @@ public interface Slice extends Streamable { * @return a new {@link Slice} with the content of the current one mapped by the given {@link Converter}. * @since 1.10 */ + @Override Slice map(Function converter); /** diff --git a/src/main/java/org/springframework/data/domain/SliceImpl.java b/src/main/java/org/springframework/data/domain/SliceImpl.java index aa15dfb4d..018ab6814 100644 --- a/src/main/java/org/springframework/data/domain/SliceImpl.java +++ b/src/main/java/org/springframework/data/domain/SliceImpl.java @@ -15,6 +15,7 @@ */ package org.springframework.data.domain; +import java.io.Serial; import java.util.List; import java.util.function.Function; @@ -29,6 +30,7 @@ import org.springframework.lang.Nullable; */ public class SliceImpl extends Chunk { + @Serial private static final long serialVersionUID = 867755909294344406L; private final boolean hasNext; @@ -59,6 +61,7 @@ public class SliceImpl extends Chunk { this(content, Pageable.unpaged(), false); } + @Override public boolean hasNext() { return hasNext; } @@ -74,7 +77,7 @@ public class SliceImpl extends Chunk { String contentType = "UNKNOWN"; List content = getContent(); - if (content.size() > 0) { + if (!content.isEmpty()) { contentType = content.get(0).getClass().getName(); } diff --git a/src/main/java/org/springframework/data/domain/Sort.java b/src/main/java/org/springframework/data/domain/Sort.java index 78d9725b7..70bb0d216 100644 --- a/src/main/java/org/springframework/data/domain/Sort.java +++ b/src/main/java/org/springframework/data/domain/Sort.java @@ -204,7 +204,7 @@ public class Sort implements Streamable these = new ArrayList(this.toList()); + List these = new ArrayList<>(this.toList()); for (Order order : sort) { these.add(order); diff --git a/src/main/java/org/springframework/data/domain/TypedExample.java b/src/main/java/org/springframework/data/domain/TypedExample.java index b5061ecc4..99029c0fd 100644 --- a/src/main/java/org/springframework/data/domain/TypedExample.java +++ b/src/main/java/org/springframework/data/domain/TypedExample.java @@ -38,10 +38,12 @@ class TypedExample implements Example { this.matcher = matcher; } + @Override public T getProbe() { return this.probe; } + @Override public ExampleMatcher getMatcher() { return this.matcher; } diff --git a/src/main/java/org/springframework/data/domain/Window.java b/src/main/java/org/springframework/data/domain/Window.java index 94d88a98c..d5c220b27 100644 --- a/src/main/java/org/springframework/data/domain/Window.java +++ b/src/main/java/org/springframework/data/domain/Window.java @@ -72,6 +72,7 @@ public interface Window extends Streamable { * * @return {@code true} if this window contains no elements */ + @Override boolean isEmpty(); /** @@ -149,6 +150,7 @@ public interface Window extends Streamable { * @param converter must not be {@literal null}. * @return a new {@link Window} with the content of the current one mapped by the given {@code converter}. */ + @Override Window map(Function converter); } diff --git a/src/main/java/org/springframework/data/geo/CustomMetric.java b/src/main/java/org/springframework/data/geo/CustomMetric.java index 99ccbb85e..6e6dd83ab 100644 --- a/src/main/java/org/springframework/data/geo/CustomMetric.java +++ b/src/main/java/org/springframework/data/geo/CustomMetric.java @@ -55,6 +55,7 @@ public class CustomMetric implements Metric { this.abbreviation = abbreviation; } + @Override public double getMultiplier() { return multiplier; } diff --git a/src/main/java/org/springframework/data/geo/Metrics.java b/src/main/java/org/springframework/data/geo/Metrics.java index 2e414da55..cc9776eb7 100644 --- a/src/main/java/org/springframework/data/geo/Metrics.java +++ b/src/main/java/org/springframework/data/geo/Metrics.java @@ -41,6 +41,7 @@ public enum Metrics implements Metric { this.abbreviation = abbreviation; } + @Override public double getMultiplier() { return multiplier; } diff --git a/src/main/java/org/springframework/data/history/AnnotationRevisionMetadata.java b/src/main/java/org/springframework/data/history/AnnotationRevisionMetadata.java index 91564dbd7..b88bd8046 100755 --- a/src/main/java/org/springframework/data/history/AnnotationRevisionMetadata.java +++ b/src/main/java/org/springframework/data/history/AnnotationRevisionMetadata.java @@ -84,18 +84,22 @@ public class AnnotationRevisionMetadata> implem this.revisionType = revisionType; } + @Override public Optional getRevisionNumber() { return revisionNumber.get(); } + @Override public Optional getRevisionInstant() { return revisionDate.get().map(AnnotationRevisionMetadata::convertToInstant); } + @Override public RevisionType getRevisionType() { return revisionType; } + @Override @SuppressWarnings("unchecked") public T getDelegate() { return (T) entity; diff --git a/src/main/java/org/springframework/data/mapping/AccessOptions.java b/src/main/java/org/springframework/data/mapping/AccessOptions.java index 5b237b959..69ae7c9e7 100644 --- a/src/main/java/org/springframework/data/mapping/AccessOptions.java +++ b/src/main/java/org/springframework/data/mapping/AccessOptions.java @@ -186,7 +186,7 @@ public class AccessOptions { Assert.isTrue(type.isAssignableFrom(property.getType()), () -> String .format("Cannot register a property handler for %s on a property of type %s", type, property.getType())); - Function caster = (Function) it -> type.cast(it); + Function caster = type::cast; return registerHandler(property, caster.andThen(handler)); } diff --git a/src/main/java/org/springframework/data/mapping/InstanceCreatorMetadataSupport.java b/src/main/java/org/springframework/data/mapping/InstanceCreatorMetadataSupport.java index 37dd7c72d..59b1823ef 100644 --- a/src/main/java/org/springframework/data/mapping/InstanceCreatorMetadataSupport.java +++ b/src/main/java/org/springframework/data/mapping/InstanceCreatorMetadataSupport.java @@ -67,6 +67,7 @@ class InstanceCreatorMetadataSupport> impleme * * @return */ + @Override public List> getParameters() { return parameters; } diff --git a/src/main/java/org/springframework/data/mapping/PropertyPath.java b/src/main/java/org/springframework/data/mapping/PropertyPath.java index 62b320c64..6349901b6 100644 --- a/src/main/java/org/springframework/data/mapping/PropertyPath.java +++ b/src/main/java/org/springframework/data/mapping/PropertyPath.java @@ -258,7 +258,7 @@ public class PropertyPath implements Streamable { @Override public Iterator iterator() { - return new Iterator() { + return new Iterator<>() { private @Nullable PropertyPath current = PropertyPath.this; @@ -377,7 +377,7 @@ public class PropertyPath implements Streamable { Iterator parts = iteratorSource.iterator(); PropertyPath result = null; - Stack current = new Stack(); + Stack current = new Stack<>(); while (parts.hasNext()) { if (result == null) { diff --git a/src/main/java/org/springframework/data/mapping/callback/EntityCallbackDiscoverer.java b/src/main/java/org/springframework/data/mapping/callback/EntityCallbackDiscoverer.java index 2706a4541..8df912976 100644 --- a/src/main/java/org/springframework/data/mapping/callback/EntityCallbackDiscoverer.java +++ b/src/main/java/org/springframework/data/mapping/callback/EntityCallbackDiscoverer.java @@ -310,7 +310,7 @@ class EntityCallbackDiscoverer { for (var beanName : bf.getBeanNamesForType(EntityCallback.class)) { - EntityCallback bean = EntityCallback.class.cast(bf.getBean(beanName)); + EntityCallback bean = (EntityCallback) bf.getBean(beanName); ResolvableType type = ResolvableType.forClass(EntityCallback.class, bean.getClass()); ResolvableType entityType = type.getGeneric(0); diff --git a/src/main/java/org/springframework/data/mapping/context/DefaultPersistentPropertyPath.java b/src/main/java/org/springframework/data/mapping/context/DefaultPersistentPropertyPath.java index 65845974c..aef6139bf 100644 --- a/src/main/java/org/springframework/data/mapping/context/DefaultPersistentPropertyPath.java +++ b/src/main/java/org/springframework/data/mapping/context/DefaultPersistentPropertyPath.java @@ -135,7 +135,7 @@ class DefaultPersistentPropertyPath

> implements @Override public P getLeafProperty() { - Assert.state(properties.size() > 0, "Empty PersistentPropertyPath should not exist"); + Assert.state(!properties.isEmpty(), "Empty PersistentPropertyPath should not exist"); return properties.get(properties.size() - 1); } @@ -143,7 +143,7 @@ class DefaultPersistentPropertyPath

> implements @Override public P getBaseProperty() { - Assert.state(properties.size() > 0, "Empty PersistentPropertyPath should not exist"); + Assert.state(!properties.isEmpty(), "Empty PersistentPropertyPath should not exist"); return properties.get(0); } @@ -208,10 +208,17 @@ class DefaultPersistentPropertyPath

> implements */ public boolean containsPropertyOfType(@Nullable TypeInformation type) { - return type == null // - ? false // - : properties.stream() // - .anyMatch(property -> type.equals(property.getTypeInformation().getActualType())); + if (type == null) { + return false; + } + + for (P property : properties) { + if (type.equals(property.getTypeInformation().getActualType())) { + return true; + } + } + + return false; } @Override diff --git a/src/main/java/org/springframework/data/mapping/model/BasicPersistentEntity.java b/src/main/java/org/springframework/data/mapping/model/BasicPersistentEntity.java index ff612ed6f..249177bd8 100644 --- a/src/main/java/org/springframework/data/mapping/model/BasicPersistentEntity.java +++ b/src/main/java/org/springframework/data/mapping/model/BasicPersistentEntity.java @@ -431,7 +431,7 @@ public class BasicPersistentEntity> implement Iterator

iterator = properties.iterator(); - return new Iterator

() { + return new Iterator<>() { @Override public boolean hasNext() { diff --git a/src/main/java/org/springframework/data/mapping/model/BeanWrapper.java b/src/main/java/org/springframework/data/mapping/model/BeanWrapper.java index 4514f23a2..b962dd827 100644 --- a/src/main/java/org/springframework/data/mapping/model/BeanWrapper.java +++ b/src/main/java/org/springframework/data/mapping/model/BeanWrapper.java @@ -56,6 +56,7 @@ class BeanWrapper implements PersistentPropertyAccessor { this.bean = bean; } + @Override @SuppressWarnings("unchecked") public void setProperty(PersistentProperty property, @Nullable Object value) { @@ -103,6 +104,7 @@ class BeanWrapper implements PersistentPropertyAccessor { } } + @Override @Nullable public Object getProperty(PersistentProperty property) { return getProperty(property, property.getType()); @@ -143,6 +145,7 @@ class BeanWrapper implements PersistentPropertyAccessor { } } + @Override public T getBean() { return bean; } diff --git a/src/main/java/org/springframework/data/mapping/model/DefaultSpELExpressionEvaluator.java b/src/main/java/org/springframework/data/mapping/model/DefaultSpELExpressionEvaluator.java index 9b88632a4..6aeb52f33 100644 --- a/src/main/java/org/springframework/data/mapping/model/DefaultSpELExpressionEvaluator.java +++ b/src/main/java/org/springframework/data/mapping/model/DefaultSpELExpressionEvaluator.java @@ -45,6 +45,7 @@ public class DefaultSpELExpressionEvaluator implements SpELExpressionEvaluator { this.factory = factory; } + @Override @Nullable @SuppressWarnings("unchecked") public T evaluate(String expression) { diff --git a/src/main/java/org/springframework/data/mapping/model/IdPropertyIdentifierAccessor.java b/src/main/java/org/springframework/data/mapping/model/IdPropertyIdentifierAccessor.java index a0d602811..530152c0d 100644 --- a/src/main/java/org/springframework/data/mapping/model/IdPropertyIdentifierAccessor.java +++ b/src/main/java/org/springframework/data/mapping/model/IdPropertyIdentifierAccessor.java @@ -54,6 +54,7 @@ public class IdPropertyIdentifierAccessor extends TargetAwareIdentifierAccessor this.accessor = entity.getPropertyAccessor(target); } + @Override @Nullable public Object getIdentifier() { return accessor.getProperty(idProperty); diff --git a/src/main/java/org/springframework/data/mapping/model/KotlinValueUtils.java b/src/main/java/org/springframework/data/mapping/model/KotlinValueUtils.java index 3d775e241..f2fba6358 100644 --- a/src/main/java/org/springframework/data/mapping/model/KotlinValueUtils.java +++ b/src/main/java/org/springframework/data/mapping/model/KotlinValueUtils.java @@ -435,7 +435,7 @@ class KotlinValueUtils { ValueBoxing hierarchy = this; while (hierarchy != null) { - if (sb.length() != 0) { + if (!sb.isEmpty()) { sb.append(" -> "); } diff --git a/src/main/java/org/springframework/data/mapping/model/PersistentEntityIsNewStrategy.java b/src/main/java/org/springframework/data/mapping/model/PersistentEntityIsNewStrategy.java index cb49d8e42..9baf0dfbe 100644 --- a/src/main/java/org/springframework/data/mapping/model/PersistentEntityIsNewStrategy.java +++ b/src/main/java/org/springframework/data/mapping/model/PersistentEntityIsNewStrategy.java @@ -100,8 +100,8 @@ class PersistentEntityIsNewStrategy implements IsNewStrategy { return false; } - if (value instanceof Number) { - return ((Number) value).longValue() == 0; + if (value instanceof Number n) { + return n.longValue() == 0; } throw new IllegalArgumentException( diff --git a/src/main/java/org/springframework/data/mapping/model/Property.java b/src/main/java/org/springframework/data/mapping/model/Property.java index be2c878e0..46a0c5ddd 100644 --- a/src/main/java/org/springframework/data/mapping/model/Property.java +++ b/src/main/java/org/springframework/data/mapping/model/Property.java @@ -264,7 +264,7 @@ public class Property { private static Optional findWither(TypeInformation owner, String propertyName, Class rawType) { - AtomicReference resultHolder = new AtomicReference(); + AtomicReference resultHolder = new AtomicReference<>(); String methodName = String.format("with%s", StringUtils.capitalize(propertyName)); ReflectionUtils.doWithMethods(owner.getType(), it -> { diff --git a/src/main/java/org/springframework/data/mapping/model/PropertyNameFieldNamingStrategy.java b/src/main/java/org/springframework/data/mapping/model/PropertyNameFieldNamingStrategy.java index 96af57b6d..78d04fb67 100644 --- a/src/main/java/org/springframework/data/mapping/model/PropertyNameFieldNamingStrategy.java +++ b/src/main/java/org/springframework/data/mapping/model/PropertyNameFieldNamingStrategy.java @@ -27,6 +27,7 @@ public enum PropertyNameFieldNamingStrategy implements FieldNamingStrategy { INSTANCE; + @Override public String getFieldName(PersistentProperty property) { return property.getName(); } diff --git a/src/main/java/org/springframework/data/mapping/model/ReflectionEntityInstantiator.java b/src/main/java/org/springframework/data/mapping/model/ReflectionEntityInstantiator.java index b4c20d254..fdf61143c 100644 --- a/src/main/java/org/springframework/data/mapping/model/ReflectionEntityInstantiator.java +++ b/src/main/java/org/springframework/data/mapping/model/ReflectionEntityInstantiator.java @@ -47,6 +47,7 @@ enum ReflectionEntityInstantiator implements EntityInstantiator { private static final Object[] EMPTY_ARGS = new Object[0]; + @Override @SuppressWarnings("unchecked") public , P extends PersistentProperty

> T createInstance(E entity, ParameterValueProvider

provider) { diff --git a/src/main/java/org/springframework/data/mapping/model/SimplePersistentPropertyPathAccessor.java b/src/main/java/org/springframework/data/mapping/model/SimplePersistentPropertyPathAccessor.java index e8db3efb5..d071d8012 100644 --- a/src/main/java/org/springframework/data/mapping/model/SimplePersistentPropertyPathAccessor.java +++ b/src/main/java/org/springframework/data/mapping/model/SimplePersistentPropertyPathAccessor.java @@ -167,7 +167,7 @@ class SimplePersistentPropertyPathAccessor implements PersistentPropertyPathA .map(it -> setValue(it, leafProperty, value)) // .collect(Collectors.toCollection(() -> CollectionFactory.createApproximateCollection(source, source.size()))); - } else if (Map.class.isInstance(parent)) { + } else if (parent instanceof Map) { Map source = getTypedProperty(parentProperty, Map.class); diff --git a/src/main/java/org/springframework/data/projection/ProxyProjectionFactory.java b/src/main/java/org/springframework/data/projection/ProxyProjectionFactory.java index 1f5271c16..04881e6fe 100644 --- a/src/main/java/org/springframework/data/projection/ProxyProjectionFactory.java +++ b/src/main/java/org/springframework/data/projection/ProxyProjectionFactory.java @@ -261,7 +261,7 @@ class ProxyProjectionFactory implements ProjectionFactory, BeanClassLoaderAware @Override public boolean supports(Object source, Class targetType) { - return Map.class.isInstance(source); + return source instanceof Map; } } diff --git a/src/main/java/org/springframework/data/projection/SpelAwareProxyProjectionFactory.java b/src/main/java/org/springframework/data/projection/SpelAwareProxyProjectionFactory.java index edf3150ec..a1acbf2c9 100644 --- a/src/main/java/org/springframework/data/projection/SpelAwareProxyProjectionFactory.java +++ b/src/main/java/org/springframework/data/projection/SpelAwareProxyProjectionFactory.java @@ -108,7 +108,7 @@ public class SpelAwareProxyProjectionFactory extends ProxyProjectionFactory impl Assert.notNull(type, "Type must not be null"); - AnnotationDetectionMethodCallback callback = new AnnotationDetectionMethodCallback(Value.class); + AnnotationDetectionMethodCallback callback = new AnnotationDetectionMethodCallback<>(Value.class); ReflectionUtils.doWithMethods(type, callback); return callback.hasFoundAnnotation(); diff --git a/src/main/java/org/springframework/data/querydsl/SimpleEntityPathResolver.java b/src/main/java/org/springframework/data/querydsl/SimpleEntityPathResolver.java index 46696242b..3b62418a7 100644 --- a/src/main/java/org/springframework/data/querydsl/SimpleEntityPathResolver.java +++ b/src/main/java/org/springframework/data/querydsl/SimpleEntityPathResolver.java @@ -61,6 +61,7 @@ public class SimpleEntityPathResolver implements EntityPathResolver { * @param domainClass * @return */ + @Override @SuppressWarnings("unchecked") public EntityPath createPath(Class domainClass) { diff --git a/src/main/java/org/springframework/data/querydsl/binding/QuerydslDefaultBinding.java b/src/main/java/org/springframework/data/querydsl/binding/QuerydslDefaultBinding.java index 8346f1bf8..6f1c43617 100644 --- a/src/main/java/org/springframework/data/querydsl/binding/QuerydslDefaultBinding.java +++ b/src/main/java/org/springframework/data/querydsl/binding/QuerydslDefaultBinding.java @@ -54,7 +54,7 @@ class QuerydslDefaultBinding implements MultiValueBinding return Optional.empty(); } - if (path instanceof CollectionPathBase) { + if (path instanceof CollectionPathBase cpb) { BooleanBuilder builder = new BooleanBuilder(); @@ -63,10 +63,10 @@ class QuerydslDefaultBinding implements MultiValueBinding if (element instanceof Collection nestedCollection) { for (Object nested : nestedCollection) { - builder.and(((CollectionPathBase) path).contains(nested)); + builder.and(cpb.contains(nested)); } } else { - builder.and(((CollectionPathBase) path).contains(element)); + builder.and(cpb.contains(element)); } } diff --git a/src/main/java/org/springframework/data/querydsl/binding/QuerydslPathInformation.java b/src/main/java/org/springframework/data/querydsl/binding/QuerydslPathInformation.java index f45af91a7..ad17c4fee 100644 --- a/src/main/java/org/springframework/data/querydsl/binding/QuerydslPathInformation.java +++ b/src/main/java/org/springframework/data/querydsl/binding/QuerydslPathInformation.java @@ -83,6 +83,7 @@ class QuerydslPathInformation implements PathInformation { return QuerydslUtils.toDotPath(path); } + @Override public Path reifyPath(EntityPathResolver resolver) { return path; } diff --git a/src/main/java/org/springframework/data/repository/ListCrudRepository.java b/src/main/java/org/springframework/data/repository/ListCrudRepository.java index 7076f5156..5d1247630 100644 --- a/src/main/java/org/springframework/data/repository/ListCrudRepository.java +++ b/src/main/java/org/springframework/data/repository/ListCrudRepository.java @@ -42,6 +42,7 @@ public interface ListCrudRepository extends CrudRepository { * attribute with a different value from that found in the persistence store. Also thrown if at least one * entity is assumed to be present but does not exist in the database. */ + @Override List saveAll(Iterable entities); /** @@ -49,6 +50,7 @@ public interface ListCrudRepository extends CrudRepository { * * @return all entities */ + @Override List findAll(); /** @@ -63,6 +65,7 @@ public interface ListCrudRepository extends CrudRepository { * {@literal ids}. * @throws IllegalArgumentException in case the given {@link Iterable ids} or one of its items is {@literal null}. */ + @Override List findAllById(Iterable ids); } diff --git a/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryContext.java b/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryContext.java index a47efaec7..bd64a8d02 100644 --- a/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryContext.java +++ b/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryContext.java @@ -186,6 +186,7 @@ public class CdiRepositoryContext { return Streamable.empty(); } + @Override public MetadataReaderFactory getMetadataReaderFactory() { return this.metadataReaderFactory; } diff --git a/src/main/java/org/springframework/data/repository/config/DefaultRepositoryConfiguration.java b/src/main/java/org/springframework/data/repository/config/DefaultRepositoryConfiguration.java index d7f5836a7..eaeb87558 100644 --- a/src/main/java/org/springframework/data/repository/config/DefaultRepositoryConfiguration.java +++ b/src/main/java/org/springframework/data/repository/config/DefaultRepositoryConfiguration.java @@ -62,10 +62,12 @@ public class DefaultRepositoryConfiguration new IllegalStateException("Can't create bean identifier without a repository base class defined")))); } + @Override public Object getQueryLookupStrategyKey() { return configurationSource.getQueryLookupStrategyKey().orElse(DEFAULT_QUERY_LOOKUP_STRATEGY); } + @Override public Streamable getBasePackages() { return configurationSource.getBasePackages(); } @@ -75,6 +77,7 @@ public class DefaultRepositoryConfiguration getNamedQueriesLocation() { return configurationSource.getNamedQueryLocation(); } @@ -92,6 +96,7 @@ public class DefaultRepositoryConfiguration Collection> getRepositoryConfigurations( T configSource, ResourceLoader loader, boolean strictMatchesOnly) { @@ -101,10 +102,12 @@ public abstract class RepositoryConfigurationExtensionSupport implements Reposit return result; } + @Override public String getDefaultNamedQueryLocation() { return String.format("classpath*:META-INF/%s-named-queries.properties", getModuleIdentifier()); } + @Override public void registerBeansForRoot(BeanDefinitionRegistry registry, RepositoryConfigurationSource configurationSource) {} @@ -119,10 +122,13 @@ public abstract class RepositoryConfigurationExtensionSupport implements Reposit @Deprecated protected abstract String getModulePrefix(); + @Override public void postProcess(BeanDefinitionBuilder builder, RepositoryConfigurationSource source) {} + @Override public void postProcess(BeanDefinitionBuilder builder, AnnotationRepositoryConfigurationSource config) {} + @Override public void postProcess(BeanDefinitionBuilder builder, XmlRepositoryConfigurationSource config) {} /** diff --git a/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationSourceSupport.java b/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationSourceSupport.java index d2682b585..57de2b2e8 100644 --- a/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationSourceSupport.java +++ b/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationSourceSupport.java @@ -149,6 +149,7 @@ public abstract class RepositoryConfigurationSourceSupport implements Repository return source.generateBeanName(definition); } + @Override public MetadataReaderFactory getMetadataReaderFactory() { return this.metadataReaderFactory; } diff --git a/src/main/java/org/springframework/data/repository/config/SelectionSet.java b/src/main/java/org/springframework/data/repository/config/SelectionSet.java index 647b3f5eb..7c5f650c4 100644 --- a/src/main/java/org/springframework/data/repository/config/SelectionSet.java +++ b/src/main/java/org/springframework/data/repository/config/SelectionSet.java @@ -49,7 +49,7 @@ class SelectionSet { } public static SelectionSet of(Collection collection, Function, Optional> fallback) { - return new SelectionSet(collection, fallback); + return new SelectionSet<>(collection, fallback); } /** @@ -74,7 +74,7 @@ class SelectionSet { SelectionSet filterIfNecessary(Predicate predicate) { return findUniqueResult().map(it -> this).orElseGet( - () -> new SelectionSet(collection.stream().filter(predicate).collect(Collectors.toList()), fallback)); + () -> new SelectionSet<>(collection.stream().filter(predicate).collect(Collectors.toList()), fallback)); } private static Function, Optional> defaultFallback() { diff --git a/src/main/java/org/springframework/data/repository/config/XmlRepositoryConfigurationSource.java b/src/main/java/org/springframework/data/repository/config/XmlRepositoryConfigurationSource.java index e0e179e3e..9510862ed 100644 --- a/src/main/java/org/springframework/data/repository/config/XmlRepositoryConfigurationSource.java +++ b/src/main/java/org/springframework/data/repository/config/XmlRepositoryConfigurationSource.java @@ -85,11 +85,13 @@ public class XmlRepositoryConfigurationSource extends RepositoryConfigurationSou this.excludeFilters = parser.parseTypeFilters(element, Type.EXCLUDE); } + @Override @Nullable public Object getSource() { return context.extractSource(element); } + @Override public Streamable getBasePackages() { String attribute = element.getAttribute(BASE_PACKAGE); @@ -97,10 +99,12 @@ public class XmlRepositoryConfigurationSource extends RepositoryConfigurationSou return Streamable.of(StringUtils.delimitedListToStringArray(attribute, ",", " ")); } + @Override public Optional getQueryLookupStrategyKey() { return getNullDefaultedAttribute(element, QUERY_LOOKUP_STRATEGY).map(Key::create); } + @Override public Optional getNamedQueryLocation() { return getNullDefaultedAttribute(element, NAMED_QUERIES_LOCATION); } @@ -124,6 +128,7 @@ public class XmlRepositoryConfigurationSource extends RepositoryConfigurationSou return includeFilters; } + @Override public Optional getRepositoryImplementationPostfix() { return getNullDefaultedAttribute(element, REPOSITORY_IMPL_POSTFIX); } diff --git a/src/main/java/org/springframework/data/repository/core/support/AbstractEntityInformation.java b/src/main/java/org/springframework/data/repository/core/support/AbstractEntityInformation.java index d93c0a716..bf08ec4ce 100644 --- a/src/main/java/org/springframework/data/repository/core/support/AbstractEntityInformation.java +++ b/src/main/java/org/springframework/data/repository/core/support/AbstractEntityInformation.java @@ -39,6 +39,7 @@ public abstract class AbstractEntityInformation implements EntityInformat this.domainClass = domainClass; } + @Override public boolean isNew(T entity) { ID id = getId(entity); @@ -48,13 +49,14 @@ public abstract class AbstractEntityInformation implements EntityInformat return id == null; } - if (id instanceof Number) { - return ((Number) id).longValue() == 0L; + if (id instanceof Number n) { + return n.longValue() == 0L; } throw new IllegalArgumentException(String.format("Unsupported primitive id type %s", idType)); } + @Override public Class getJavaType() { return this.domainClass; } diff --git a/src/main/java/org/springframework/data/repository/core/support/AbstractRepositoryMetadata.java b/src/main/java/org/springframework/data/repository/core/support/AbstractRepositoryMetadata.java index f8353d3aa..ecb8c190b 100644 --- a/src/main/java/org/springframework/data/repository/core/support/AbstractRepositoryMetadata.java +++ b/src/main/java/org/springframework/data/repository/core/support/AbstractRepositoryMetadata.java @@ -107,6 +107,7 @@ public abstract class AbstractRepositoryMetadata implements RepositoryMetadata { return QueryExecutionConverters.unwrapWrapperTypes(returnType, getDomainTypeInformation()).getType(); } + @Override public Class getRepositoryInterface() { return this.repositoryInterface; } diff --git a/src/main/java/org/springframework/data/repository/core/support/EventPublishingRepositoryProxyPostProcessor.java b/src/main/java/org/springframework/data/repository/core/support/EventPublishingRepositoryProxyPostProcessor.java index 9036e6beb..02f6184a4 100644 --- a/src/main/java/org/springframework/data/repository/core/support/EventPublishingRepositoryProxyPostProcessor.java +++ b/src/main/java/org/springframework/data/repository/core/support/EventPublishingRepositoryProxyPostProcessor.java @@ -238,7 +238,7 @@ public class EventPublishingRepositoryProxyPostProcessor implements RepositoryPr private static AnnotationDetectionMethodCallback getDetector(Class type, Class annotation) { - AnnotationDetectionMethodCallback callback = new AnnotationDetectionMethodCallback(annotation); + AnnotationDetectionMethodCallback callback = new AnnotationDetectionMethodCallback<>(annotation); ReflectionUtils.doWithMethods(type, callback); return callback; @@ -300,7 +300,7 @@ public class EventPublishingRepositoryProxyPostProcessor implements RepositoryPr return Collections.emptyList(); } - if (Collection.class.isInstance(source)) { + if (source instanceof Collection) { return new ArrayList<>((Collection) source); } diff --git a/src/main/java/org/springframework/data/repository/core/support/PersistenceExceptionTranslationRepositoryProxyPostProcessor.java b/src/main/java/org/springframework/data/repository/core/support/PersistenceExceptionTranslationRepositoryProxyPostProcessor.java index b939edcd0..03aee6291 100644 --- a/src/main/java/org/springframework/data/repository/core/support/PersistenceExceptionTranslationRepositoryProxyPostProcessor.java +++ b/src/main/java/org/springframework/data/repository/core/support/PersistenceExceptionTranslationRepositoryProxyPostProcessor.java @@ -47,6 +47,7 @@ public class PersistenceExceptionTranslationRepositoryProxyPostProcessor impleme this.interceptor.afterPropertiesSet(); } + @Override public void postProcess(ProxyFactory factory, RepositoryInformation repositoryInformation) { factory.addAdvice(interceptor); } diff --git a/src/main/java/org/springframework/data/repository/core/support/PropertiesBasedNamedQueries.java b/src/main/java/org/springframework/data/repository/core/support/PropertiesBasedNamedQueries.java index a520b7278..25a4af3aa 100644 --- a/src/main/java/org/springframework/data/repository/core/support/PropertiesBasedNamedQueries.java +++ b/src/main/java/org/springframework/data/repository/core/support/PropertiesBasedNamedQueries.java @@ -37,6 +37,7 @@ public class PropertiesBasedNamedQueries implements NamedQueries { this.properties = properties; } + @Override public boolean hasQuery(String queryName) { Assert.hasText(queryName, "Query name must not be null or empty"); @@ -44,6 +45,7 @@ public class PropertiesBasedNamedQueries implements NamedQueries { return properties.containsKey(queryName); } + @Override public String getQuery(String queryName) { Assert.hasText(queryName, "Query name must not be null or empty"); diff --git a/src/main/java/org/springframework/data/repository/core/support/RepositoryFactoryBeanSupport.java b/src/main/java/org/springframework/data/repository/core/support/RepositoryFactoryBeanSupport.java index b1a8f155f..159dd2ecb 100644 --- a/src/main/java/org/springframework/data/repository/core/support/RepositoryFactoryBeanSupport.java +++ b/src/main/java/org/springframework/data/repository/core/support/RepositoryFactoryBeanSupport.java @@ -115,7 +115,7 @@ public abstract class RepositoryFactoryBeanSupport, *

* Default is "false", in order to avoid unnecessary extra interception. This means that no guarantees are provided * that {@code RepositoryMethodContext} access will work consistently within any method of the advised object. - * + * * @since 3.4.0 */ public void setExposeMetadata(boolean exposeMetadata) { @@ -210,7 +210,7 @@ public abstract class RepositoryFactoryBeanSupport, this.beanFactory = beanFactory; - if (!this.evaluationContextProvider.isPresent() && ListableBeanFactory.class.isInstance(beanFactory)) { + if (!this.evaluationContextProvider.isPresent() && beanFactory instanceof ListableBeanFactory) { this.evaluationContextProvider = createDefaultQueryMethodEvaluationContextProvider( (ListableBeanFactory) beanFactory); } @@ -233,11 +233,13 @@ public abstract class RepositoryFactoryBeanSupport, this.publisher = publisher; } + @Override @SuppressWarnings("unchecked") public EntityInformation getEntityInformation() { return (EntityInformation) factory.getEntityInformation(repositoryMetadata.getDomainType()); } + @Override public RepositoryInformation getRepositoryInformation() { RepositoryFragments fragments = customImplementation.map(RepositoryFragments::just)// @@ -246,12 +248,14 @@ public abstract class RepositoryFactoryBeanSupport, return factory.getRepositoryInformation(repositoryMetadata, fragments); } + @Override public PersistentEntity getPersistentEntity() { return mappingContext.orElseThrow(() -> new IllegalStateException("No MappingContext available")) .getRequiredPersistentEntity(repositoryMetadata.getDomainType()); } + @Override public List getQueryMethods() { return factory.getQueryMethods(); } diff --git a/src/main/java/org/springframework/data/repository/core/support/RepositoryFactorySupport.java b/src/main/java/org/springframework/data/repository/core/support/RepositoryFactorySupport.java index 0b73d66a0..1ddbebf1d 100644 --- a/src/main/java/org/springframework/data/repository/core/support/RepositoryFactorySupport.java +++ b/src/main/java/org/springframework/data/repository/core/support/RepositoryFactorySupport.java @@ -318,7 +318,7 @@ public abstract class RepositoryFactorySupport implements BeanClassLoaderAware, for (RepositoryFragment fragment : composition.getFragments()) { - if (fragmentsTag.length() > 0) { + if (!fragmentsTag.isEmpty()) { fragmentsTag.append(";"); } diff --git a/src/main/java/org/springframework/data/repository/core/support/RepositoryFragment.java b/src/main/java/org/springframework/data/repository/core/support/RepositoryFragment.java index a9d98e87f..f8938a6bd 100644 --- a/src/main/java/org/springframework/data/repository/core/support/RepositoryFragment.java +++ b/src/main/java/org/springframework/data/repository/core/support/RepositoryFragment.java @@ -203,6 +203,7 @@ public interface RepositoryFragment { this.implementation = implementation; } + @Override public Class getSignatureContributor() { if (interfaceClass != null) { diff --git a/src/main/java/org/springframework/data/repository/core/support/TransactionalRepositoryFactoryBeanSupport.java b/src/main/java/org/springframework/data/repository/core/support/TransactionalRepositoryFactoryBeanSupport.java index 2bd516335..3b45a4515 100644 --- a/src/main/java/org/springframework/data/repository/core/support/TransactionalRepositoryFactoryBeanSupport.java +++ b/src/main/java/org/springframework/data/repository/core/support/TransactionalRepositoryFactoryBeanSupport.java @@ -101,6 +101,7 @@ public abstract class TransactionalRepositoryFactoryBeanSupport findDynamicProjection() { diff --git a/src/main/java/org/springframework/data/repository/util/QueryExecutionConverters.java b/src/main/java/org/springframework/data/repository/util/QueryExecutionConverters.java index f9f37fac0..9546bcb7b 100644 --- a/src/main/java/org/springframework/data/repository/util/QueryExecutionConverters.java +++ b/src/main/java/org/springframework/data/repository/util/QueryExecutionConverters.java @@ -80,7 +80,7 @@ public abstract class QueryExecutionConverters { QueryExecutionConverters.class.getClassLoader()); private static final Set WRAPPER_TYPES = new HashSet<>(10, 1.0f); - private static final Set UNWRAPPER_TYPES = new HashSet(10, 1.0f); + private static final Set UNWRAPPER_TYPES = new HashSet<>(10, 1.0f); private static final Set> UNWRAPPERS = new HashSet<>(); private static final Set> ALLOWED_PAGEABLE_TYPES = new HashSet<>(); private static final Map, ExecutionAdapter> EXECUTION_ADAPTER = new HashMap<>(3, 1.0f); @@ -442,7 +442,7 @@ public abstract class QueryExecutionConverters { Streamable streamable = source == null // ? Streamable.empty() // - : Streamable.of(Iterable.class.cast(source)); + : Streamable.of((Iterable) source); return Streamable.class.equals(targetType.getType()) // ? streamable // diff --git a/src/main/java/org/springframework/data/repository/util/ReactiveWrapperConverters.java b/src/main/java/org/springframework/data/repository/util/ReactiveWrapperConverters.java index 76506e8ef..0f224cf1b 100644 --- a/src/main/java/org/springframework/data/repository/util/ReactiveWrapperConverters.java +++ b/src/main/java/org/springframework/data/repository/util/ReactiveWrapperConverters.java @@ -278,6 +278,7 @@ public abstract class ReactiveWrapperConverters { return Flux.class; } + @Override public Flux map(Object wrapper, Function function) { return ((Flux) wrapper).map(function); } @@ -297,6 +298,7 @@ public abstract class ReactiveWrapperConverters { return Flow.class; } + @Override public Flow map(Object wrapper, Function function) { return FlowKt.map((Flow) wrapper, (o, continuation) -> function.apply(o)); } diff --git a/src/main/java/org/springframework/data/transaction/MultiTransactionStatus.java b/src/main/java/org/springframework/data/transaction/MultiTransactionStatus.java index 7eebf86e2..44be76536 100644 --- a/src/main/java/org/springframework/data/transaction/MultiTransactionStatus.java +++ b/src/main/java/org/springframework/data/transaction/MultiTransactionStatus.java @@ -38,7 +38,7 @@ class MultiTransactionStatus implements TransactionStatus { private final PlatformTransactionManager mainTransactionManager; private final Map transactionStatuses = Collections - .synchronizedMap(new HashMap()); + .synchronizedMap(new HashMap<>()); private boolean newSynchonization; diff --git a/src/main/java/org/springframework/data/transaction/SpringTransactionSynchronizationManager.java b/src/main/java/org/springframework/data/transaction/SpringTransactionSynchronizationManager.java index 6ef409eac..261619523 100644 --- a/src/main/java/org/springframework/data/transaction/SpringTransactionSynchronizationManager.java +++ b/src/main/java/org/springframework/data/transaction/SpringTransactionSynchronizationManager.java @@ -28,14 +28,17 @@ enum SpringTransactionSynchronizationManager implements SynchronizationManager { INSTANCE; + @Override public void initSynchronization() { TransactionSynchronizationManager.initSynchronization(); } + @Override public boolean isSynchronizationActive() { return TransactionSynchronizationManager.isSynchronizationActive(); } + @Override public void clearSynchronization() { TransactionSynchronizationManager.clear(); } diff --git a/src/main/java/org/springframework/data/util/LazyStreamable.java b/src/main/java/org/springframework/data/util/LazyStreamable.java index f1c7afd41..65a926d8c 100644 --- a/src/main/java/org/springframework/data/util/LazyStreamable.java +++ b/src/main/java/org/springframework/data/util/LazyStreamable.java @@ -34,7 +34,7 @@ final class LazyStreamable implements Streamable { } public static LazyStreamable of(Supplier> stream) { - return new LazyStreamable(stream); + return new LazyStreamable<>(stream); } @Override diff --git a/src/main/java/org/springframework/data/util/MethodInvocationRecorder.java b/src/main/java/org/springframework/data/util/MethodInvocationRecorder.java index f49132dbf..dca81898f 100644 --- a/src/main/java/org/springframework/data/util/MethodInvocationRecorder.java +++ b/src/main/java/org/springframework/data/util/MethodInvocationRecorder.java @@ -99,7 +99,7 @@ public class MethodInvocationRecorder { T proxy = (T) proxyFactory.getProxy(type.getClassLoader()); - return new Recorded(proxy, new MethodInvocationRecorder(Optional.ofNullable(interceptor))); + return new Recorded<>(proxy, new MethodInvocationRecorder(Optional.ofNullable(interceptor))); } private Optional getPropertyPath(List strategies) { @@ -319,7 +319,7 @@ public class MethodInvocationRecorder { Assert.notNull(converter, "Function must not be null"); - return new Recorded(converter.apply(currentInstance), recorder); + return new Recorded<>(converter.apply(currentInstance), recorder); } /** @@ -332,7 +332,7 @@ public class MethodInvocationRecorder { Assert.notNull(converter, "Converter must not be null"); - return new Recorded(converter.apply(currentInstance).iterator().next(), recorder); + return new Recorded<>(converter.apply(currentInstance).iterator().next(), recorder); } /** @@ -345,7 +345,7 @@ public class MethodInvocationRecorder { Assert.notNull(converter, "Converter must not be null"); - return new Recorded(converter.apply(currentInstance).values().iterator().next(), recorder); + return new Recorded<>(converter.apply(currentInstance).values().iterator().next(), recorder); } @Override diff --git a/src/main/java/org/springframework/data/util/MultiValueMapCollector.java b/src/main/java/org/springframework/data/util/MultiValueMapCollector.java index aff28c0ed..e334d8779 100644 --- a/src/main/java/org/springframework/data/util/MultiValueMapCollector.java +++ b/src/main/java/org/springframework/data/util/MultiValueMapCollector.java @@ -44,7 +44,7 @@ class MultiValueMapCollector implements Collector MultiValueMapCollector of(Function keyFunction, Function valueFunction) { - return new MultiValueMapCollector(keyFunction, valueFunction); + return new MultiValueMapCollector<>(keyFunction, valueFunction); } @Override diff --git a/src/main/java/org/springframework/data/util/NullableWrapperConverters.java b/src/main/java/org/springframework/data/util/NullableWrapperConverters.java index 044198c90..0fb04a0cc 100644 --- a/src/main/java/org/springframework/data/util/NullableWrapperConverters.java +++ b/src/main/java/org/springframework/data/util/NullableWrapperConverters.java @@ -64,9 +64,9 @@ public abstract class NullableWrapperConverters { private static final boolean VAVR_PRESENT = ClassUtils.isPresent("io.vavr.control.Option", NullableWrapperConverters.class.getClassLoader()); - private static final Set WRAPPER_TYPES = new HashSet(); - private static final Set UNWRAPPER_TYPES = new HashSet(); - private static final Set> UNWRAPPERS = new HashSet>(); + private static final Set WRAPPER_TYPES = new HashSet<>(); + private static final Set UNWRAPPER_TYPES = new HashSet<>(); + private static final Set> UNWRAPPERS = new HashSet<>(); private static final Map, Boolean> supportsCache = new ConcurrentReferenceHashMap<>(); static { @@ -410,7 +410,7 @@ public abstract class NullableWrapperConverters { INSTANCE; - private final Function0 alternative = new AbstractFunction0() { + private final Function0 alternative = new AbstractFunction0<>() { @Nullable @Override diff --git a/src/main/java/org/springframework/data/util/ReflectionUtils.java b/src/main/java/org/springframework/data/util/ReflectionUtils.java index 518edc87d..2809f2ec3 100644 --- a/src/main/java/org/springframework/data/util/ReflectionUtils.java +++ b/src/main/java/org/springframework/data/util/ReflectionUtils.java @@ -125,6 +125,7 @@ public final class ReflectionUtils { return AnnotationUtils.getAnnotation(field, annotationType) != null; } + @Override public String getDescription() { return String.format("Annotation filter for %s", annotationType.getName()); } @@ -146,6 +147,7 @@ public final class ReflectionUtils { return filter.matches(field); } + @Override public String getDescription() { return String.format("FieldFilter %s", filter.toString()); } diff --git a/src/main/java/org/springframework/data/util/StreamUtils.java b/src/main/java/org/springframework/data/util/StreamUtils.java index 075f02bd9..12748f839 100644 --- a/src/main/java/org/springframework/data/util/StreamUtils.java +++ b/src/main/java/org/springframework/data/util/StreamUtils.java @@ -135,14 +135,14 @@ public interface StreamUtils { int characteristics = lefts.characteristics() & rights.characteristics(); boolean parallel = left.isParallel() || right.isParallel(); - return StreamSupport.stream(new AbstractSpliterator(size, characteristics) { + return StreamSupport.stream(new AbstractSpliterator<>(size, characteristics) { @Override @SuppressWarnings("null") public boolean tryAdvance(Consumer action) { - Sink leftSink = new Sink(); - Sink rightSink = new Sink(); + Sink leftSink = new Sink<>(); + Sink rightSink = new Sink<>(); boolean leftAdvance = lefts.tryAdvance(leftSink); diff --git a/src/main/java/org/springframework/data/util/TypeDiscoverer.java b/src/main/java/org/springframework/data/util/TypeDiscoverer.java index 1ee6e3130..f8f80a405 100644 --- a/src/main/java/org/springframework/data/util/TypeDiscoverer.java +++ b/src/main/java/org/springframework/data/util/TypeDiscoverer.java @@ -152,7 +152,7 @@ class TypeDiscoverer implements TypeInformation { List> arguments = getTypeArguments(); - if (arguments.size() > 0) { + if (!arguments.isEmpty()) { return arguments.get(0); } diff --git a/src/main/java/org/springframework/data/util/TypeUtils.java b/src/main/java/org/springframework/data/util/TypeUtils.java index da8175b55..54e179842 100644 --- a/src/main/java/org/springframework/data/util/TypeUtils.java +++ b/src/main/java/org/springframework/data/util/TypeUtils.java @@ -224,6 +224,7 @@ public class TypeUtils { this.type = type; } + @Override public Class getType() { return type; } diff --git a/src/main/java/org/springframework/data/web/JsonProjectingMethodInterceptorFactory.java b/src/main/java/org/springframework/data/web/JsonProjectingMethodInterceptorFactory.java index 2006fed12..a67243ca8 100644 --- a/src/main/java/org/springframework/data/web/JsonProjectingMethodInterceptorFactory.java +++ b/src/main/java/org/springframework/data/web/JsonProjectingMethodInterceptorFactory.java @@ -97,7 +97,7 @@ public class JsonProjectingMethodInterceptorFactory implements MethodInterceptor @Override public MethodInterceptor createMethodInterceptor(Object source, Class targetType) { - DocumentContext context = InputStream.class.isInstance(source) ? this.context.parse((InputStream) source) + DocumentContext context = source instanceof InputStream ? this.context.parse((InputStream) source) : this.context.parse(source); return new InputMessageProjecting(context); @@ -106,12 +106,11 @@ public class JsonProjectingMethodInterceptorFactory implements MethodInterceptor @Override public boolean supports(Object source, Class targetType) { - if (InputStream.class.isInstance(source) || JSONObject.class.isInstance(source) - || JSONArray.class.isInstance(source)) { + if (source instanceof InputStream || source instanceof JSONObject || source instanceof JSONArray) { return true; } - return Map.class.isInstance(source) && hasJsonPathAnnotation(targetType); + return source instanceof Map && hasJsonPathAnnotation(targetType); } /** diff --git a/src/main/java/org/springframework/data/web/SpringDataAnnotationUtils.java b/src/main/java/org/springframework/data/web/SpringDataAnnotationUtils.java index 62ec4e260..04f2b1e89 100644 --- a/src/main/java/org/springframework/data/web/SpringDataAnnotationUtils.java +++ b/src/main/java/org/springframework/data/web/SpringDataAnnotationUtils.java @@ -173,8 +173,8 @@ abstract class SpringDataAnnotationUtils { private static Qualifier findAnnotation(Annotation[] annotations) { for (Annotation annotation : annotations) { - if (annotation instanceof Qualifier) { - return (Qualifier) annotation; + if (annotation instanceof Qualifier q) { + return q; } } diff --git a/src/main/java/org/springframework/data/web/XmlBeamHttpMessageConverter.java b/src/main/java/org/springframework/data/web/XmlBeamHttpMessageConverter.java index 7db27e674..7b26fa03e 100644 --- a/src/main/java/org/springframework/data/web/XmlBeamHttpMessageConverter.java +++ b/src/main/java/org/springframework/data/web/XmlBeamHttpMessageConverter.java @@ -120,7 +120,7 @@ public class XmlBeamHttpMessageConverter extends AbstractHttpMessageConverter newResolvers = new ArrayList( + List newResolvers = new ArrayList<>( currentResolvers.size() + 1); newResolvers.add(resolver); newResolvers.addAll(currentResolvers); diff --git a/src/main/java/org/springframework/data/web/config/SpringDataWebConfiguration.java b/src/main/java/org/springframework/data/web/config/SpringDataWebConfiguration.java index 383ceee7e..ff7851c6a 100644 --- a/src/main/java/org/springframework/data/web/config/SpringDataWebConfiguration.java +++ b/src/main/java/org/springframework/data/web/config/SpringDataWebConfiguration.java @@ -131,7 +131,7 @@ public class SpringDataWebConfiguration implements WebMvcConfigurer, BeanClassLo return; } - DomainClassConverter converter = new DomainClassConverter( + DomainClassConverter converter = new DomainClassConverter<>( conversionService); converter.setApplicationContext(context); } diff --git a/src/test/java/org/springframework/data/aot/sample/ConfigWithCustomRepositoryBaseClass.java b/src/test/java/org/springframework/data/aot/sample/ConfigWithCustomRepositoryBaseClass.java index 482922532..38f9a344e 100644 --- a/src/test/java/org/springframework/data/aot/sample/ConfigWithCustomRepositoryBaseClass.java +++ b/src/test/java/org/springframework/data/aot/sample/ConfigWithCustomRepositoryBaseClass.java @@ -44,6 +44,7 @@ public class ConfigWithCustomRepositoryBaseClass { return this.delegate.save(entity); } + @Override public Iterable saveAll(Iterable entities) { return this.delegate.saveAll(entities); } @@ -52,38 +53,47 @@ public class ConfigWithCustomRepositoryBaseClass { return this.delegate.findById(id); } + @Override public boolean existsById(ID id) { return this.delegate.existsById(id); } + @Override public Iterable findAll() { return this.delegate.findAll(); } + @Override public Iterable findAllById(Iterable ids) { return this.delegate.findAllById(ids); } + @Override public long count() { return this.delegate.count(); } + @Override public void deleteById(ID id) { this.delegate.deleteById(id); } + @Override public void delete(T entity) { this.delegate.delete(entity); } + @Override public void deleteAllById(Iterable ids) { this.delegate.deleteAllById(ids); } + @Override public void deleteAll(Iterable entities) { this.delegate.deleteAll(entities); } + @Override public void deleteAll() { this.delegate.deleteAll(); } diff --git a/src/test/java/org/springframework/data/auditing/AuditedUser.java b/src/test/java/org/springframework/data/auditing/AuditedUser.java index 33eb30948..70f59e15e 100644 --- a/src/test/java/org/springframework/data/auditing/AuditedUser.java +++ b/src/test/java/org/springframework/data/auditing/AuditedUser.java @@ -44,34 +44,42 @@ class AuditedUser implements Auditable { return id == null; } + @Override public Optional getCreatedBy() { return Optional.ofNullable(createdBy); } + @Override public void setCreatedBy(AuditedUser createdBy) { this.createdBy = createdBy; } + @Override public Optional getCreatedDate() { return Optional.ofNullable(createdDate); } + @Override public void setCreatedDate(LocalDateTime creationDate) { this.createdDate = creationDate; } + @Override public Optional getLastModifiedBy() { return Optional.ofNullable(modifiedBy); } + @Override public void setLastModifiedBy(AuditedUser lastModifiedBy) { this.modifiedBy = lastModifiedBy; } + @Override public Optional getLastModifiedDate() { return Optional.ofNullable(modifiedDate); } + @Override public void setLastModifiedDate(LocalDateTime lastModifiedDate) { this.modifiedDate = lastModifiedDate; } diff --git a/src/test/java/org/springframework/data/auditing/config/AuditingBeanDefinitionRegistrarSupportUnitTests.java b/src/test/java/org/springframework/data/auditing/config/AuditingBeanDefinitionRegistrarSupportUnitTests.java index 064753b32..b03716e18 100755 --- a/src/test/java/org/springframework/data/auditing/config/AuditingBeanDefinitionRegistrarSupportUnitTests.java +++ b/src/test/java/org/springframework/data/auditing/config/AuditingBeanDefinitionRegistrarSupportUnitTests.java @@ -90,18 +90,22 @@ class AuditingBeanDefinitionRegistrarSupportUnitTests { protected AuditingConfiguration getConfiguration(AnnotationMetadata annotationMetadata) { return new AuditingConfiguration() { + @Override public String getAuditorAwareRef() { return "auditor"; } + @Override public boolean isSetDates() { return true; } + @Override public String getDateTimeProviderRef() { return "dateTimeProvider"; } + @Override public boolean isModifyOnCreate() { return true; } diff --git a/src/test/java/org/springframework/data/mapping/model/AbstractPersistentPropertyUnitTests.java b/src/test/java/org/springframework/data/mapping/model/AbstractPersistentPropertyUnitTests.java index e399c7818..52a0455ec 100755 --- a/src/test/java/org/springframework/data/mapping/model/AbstractPersistentPropertyUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/model/AbstractPersistentPropertyUnitTests.java @@ -358,10 +358,12 @@ public class AbstractPersistentPropertyUnitTests { super(property, owner, simpleTypeHolder); } + @Override public boolean isIdProperty() { return false; } + @Override public boolean isVersionProperty() { return false; } diff --git a/src/test/java/org/springframework/data/querydsl/binding/QuerydslBindingsFactoryUnitTests.java b/src/test/java/org/springframework/data/querydsl/binding/QuerydslBindingsFactoryUnitTests.java index ea2665bca..cf091d901 100755 --- a/src/test/java/org/springframework/data/querydsl/binding/QuerydslBindingsFactoryUnitTests.java +++ b/src/test/java/org/springframework/data/querydsl/binding/QuerydslBindingsFactoryUnitTests.java @@ -129,6 +129,7 @@ class QuerydslBindingsFactoryUnitTests { static class SpecificBinding implements QuerydslBinderCustomizer { + @Override public void customize(QuerydslBindings bindings, QUser user) { bindings.bind(user.firstname).firstOptional((path, value) -> value.map(it -> path.eq(it.toUpperCase()))); diff --git a/src/test/java/org/springframework/data/repository/config/DefaultRepositoryConfigurationUnitTests.java b/src/test/java/org/springframework/data/repository/config/DefaultRepositoryConfigurationUnitTests.java index 38548919a..f1713f313 100755 --- a/src/test/java/org/springframework/data/repository/config/DefaultRepositoryConfigurationUnitTests.java +++ b/src/test/java/org/springframework/data/repository/config/DefaultRepositoryConfigurationUnitTests.java @@ -94,10 +94,12 @@ class DefaultRepositoryConfigurationUnitTests { this.modulePrefix = modulePrefix; } + @Override public String getRepositoryFactoryBeanClassName() { return this.repositoryFactoryBeanClassName; } + @Override public String getModulePrefix() { return this.modulePrefix; } diff --git a/src/test/java/org/springframework/data/repository/config/DummyConfigurationExtension.java b/src/test/java/org/springframework/data/repository/config/DummyConfigurationExtension.java index bde66ac87..3e60d9735 100644 --- a/src/test/java/org/springframework/data/repository/config/DummyConfigurationExtension.java +++ b/src/test/java/org/springframework/data/repository/config/DummyConfigurationExtension.java @@ -23,6 +23,7 @@ import org.springframework.data.repository.core.support.DummyRepositoryFactoryBe */ class DummyConfigurationExtension extends RepositoryConfigurationExtensionSupport { + @Override public String getRepositoryFactoryBeanClassName() { return DummyRepositoryFactoryBean.class.getName(); } diff --git a/src/test/java/org/springframework/data/repository/config/ReactiveDummyConfigurationExtension.java b/src/test/java/org/springframework/data/repository/config/ReactiveDummyConfigurationExtension.java index 6f8e32990..90242cd6f 100644 --- a/src/test/java/org/springframework/data/repository/config/ReactiveDummyConfigurationExtension.java +++ b/src/test/java/org/springframework/data/repository/config/ReactiveDummyConfigurationExtension.java @@ -24,6 +24,7 @@ import org.springframework.data.repository.core.support.ReactiveDummyRepositoryF */ class ReactiveDummyConfigurationExtension extends RepositoryConfigurationExtensionSupport { + @Override public String getRepositoryFactoryBeanClassName() { return ReactiveDummyRepositoryFactoryBean.class.getName(); } diff --git a/src/test/java/org/springframework/data/repository/config/RepositoryBeanDefinitionRegistrarSupportUnitTests.java b/src/test/java/org/springframework/data/repository/config/RepositoryBeanDefinitionRegistrarSupportUnitTests.java index 0835bbeb4..995d8a4ab 100755 --- a/src/test/java/org/springframework/data/repository/config/RepositoryBeanDefinitionRegistrarSupportUnitTests.java +++ b/src/test/java/org/springframework/data/repository/config/RepositoryBeanDefinitionRegistrarSupportUnitTests.java @@ -184,6 +184,7 @@ class RepositoryBeanDefinitionRegistrarSupportUnitTests { static class DummyConfigurationExtension extends RepositoryConfigurationExtensionSupport { + @Override public String getRepositoryFactoryBeanClassName() { return DummyRepositoryFactoryBean.class.getName(); } diff --git a/src/test/java/org/springframework/data/repository/config/RepositoryConfigurationDelegateUnitTests.java b/src/test/java/org/springframework/data/repository/config/RepositoryConfigurationDelegateUnitTests.java index 6ba758220..529671b22 100644 --- a/src/test/java/org/springframework/data/repository/config/RepositoryConfigurationDelegateUnitTests.java +++ b/src/test/java/org/springframework/data/repository/config/RepositoryConfigurationDelegateUnitTests.java @@ -324,6 +324,7 @@ class RepositoryConfigurationDelegateUnitTests { static class DummyConfigurationExtension extends RepositoryConfigurationExtensionSupport { + @Override public String getRepositoryFactoryBeanClassName() { return DummyRepositoryFactoryBean.class.getName(); } diff --git a/src/test/java/org/springframework/data/repository/core/support/DefaultCrudMethodsUnitTests.java b/src/test/java/org/springframework/data/repository/core/support/DefaultCrudMethodsUnitTests.java index 64524d0c1..0f3953713 100755 --- a/src/test/java/org/springframework/data/repository/core/support/DefaultCrudMethodsUnitTests.java +++ b/src/test/java/org/springframework/data/repository/core/support/DefaultCrudMethodsUnitTests.java @@ -238,10 +238,12 @@ class DefaultCrudMethodsUnitTests { // DATACMNS-393 interface RepositoryWithAllCrudMethodOverloaded extends CrudRepository { + @Override List findAll(); S save(S entity); + @Override void deleteById(Long id); Optional findById(Long id); @@ -262,6 +264,7 @@ class DefaultCrudMethodsUnitTests { // DATACMNS-539 interface RepositoryWithDeleteMethodForEntityOverloaded extends CrudRepository { + @Override void delete(Domain entity); } } diff --git a/src/test/java/org/springframework/data/repository/core/support/DefaultRepositoryInformationUnitTests.java b/src/test/java/org/springframework/data/repository/core/support/DefaultRepositoryInformationUnitTests.java index dccd6b15d..951e0168b 100755 --- a/src/test/java/org/springframework/data/repository/core/support/DefaultRepositoryInformationUnitTests.java +++ b/src/test/java/org/springframework/data/repository/core/support/DefaultRepositoryInformationUnitTests.java @@ -334,6 +334,7 @@ class DefaultRepositoryInformationUnitTests { K save(K entity); + @Override void delete(S entity); @MyQuery @@ -371,6 +372,7 @@ class DefaultRepositoryInformationUnitTests { interface CustomDefaultRepositoryMethodsRepository extends CrudRepository { + @Override @MyQuery List findAll(); } @@ -402,6 +404,7 @@ class DefaultRepositoryInformationUnitTests { return this.delegate.save(entity); } + @Override public Iterable saveAll(Iterable entities) { return this.delegate.saveAll(entities); } @@ -410,38 +413,47 @@ class DefaultRepositoryInformationUnitTests { return this.delegate.findById(id); } + @Override public boolean existsById(ID id) { return this.delegate.existsById(id); } + @Override public Iterable findAll() { return this.delegate.findAll(); } + @Override public Iterable findAllById(Iterable ids) { return this.delegate.findAllById(ids); } + @Override public long count() { return this.delegate.count(); } + @Override public void deleteById(ID id) { this.delegate.deleteById(id); } + @Override public void delete(T entity) { this.delegate.delete(entity); } + @Override public void deleteAllById(Iterable ids) { this.delegate.deleteAllById(ids); } + @Override public void deleteAll(Iterable entities) { this.delegate.deleteAll(entities); } + @Override public void deleteAll() { this.delegate.deleteAll(); } diff --git a/src/test/java/org/springframework/data/repository/core/support/DummyEntityInformation.java b/src/test/java/org/springframework/data/repository/core/support/DummyEntityInformation.java index 0fb42e4d4..5a40e43a9 100644 --- a/src/test/java/org/springframework/data/repository/core/support/DummyEntityInformation.java +++ b/src/test/java/org/springframework/data/repository/core/support/DummyEntityInformation.java @@ -33,10 +33,12 @@ public class DummyEntityInformation extends AbstractEntityInformation getIdType() { return Serializable.class; } diff --git a/src/test/java/org/springframework/data/repository/core/support/DummyRepositoryInformation.java b/src/test/java/org/springframework/data/repository/core/support/DummyRepositoryInformation.java index ad290765f..6c8ae68a6 100644 --- a/src/test/java/org/springframework/data/repository/core/support/DummyRepositoryInformation.java +++ b/src/test/java/org/springframework/data/repository/core/support/DummyRepositoryInformation.java @@ -37,14 +37,17 @@ public final class DummyRepositoryInformation implements RepositoryInformation { this.metadata = metadata; } + @Override public TypeInformation getIdTypeInformation() { return metadata.getIdTypeInformation(); } + @Override public TypeInformation getDomainTypeInformation() { return metadata.getDomainTypeInformation(); } + @Override public Class getRepositoryInterface() { return metadata.getRepositoryInterface(); } @@ -54,38 +57,47 @@ public final class DummyRepositoryInformation implements RepositoryInformation { return metadata.getReturnType(method); } + @Override public Class getReturnedDomainClass(Method method) { return getDomainType(); } + @Override public Class getRepositoryBaseClass() { return getRepositoryInterface(); } + @Override public boolean hasCustomMethod() { return false; } + @Override public boolean isCustomMethod(Method method) { return false; } + @Override public boolean isQueryMethod(Method method) { return false; } + @Override public Streamable getQueryMethods() { return Streamable.empty(); } + @Override public Method getTargetClassMethod(Method method) { return method; } + @Override public boolean isBaseClassMethod(Method method) { return true; } + @Override public CrudMethods getCrudMethods() { return new DefaultCrudMethods(this); } diff --git a/src/test/java/org/springframework/data/repository/support/CrudRepositoryInvokerUnitTests.java b/src/test/java/org/springframework/data/repository/support/CrudRepositoryInvokerUnitTests.java index 40343392a..8f0c2e161 100755 --- a/src/test/java/org/springframework/data/repository/support/CrudRepositoryInvokerUnitTests.java +++ b/src/test/java/org/springframework/data/repository/support/CrudRepositoryInvokerUnitTests.java @@ -174,6 +174,7 @@ class CrudRepositoryInvokerUnitTests { interface CrudWithRedeclaredDelete extends CrudRepository { + @Override void deleteById(Long id); } } diff --git a/src/test/java/org/springframework/data/repository/support/RepositoriesUnitTests.java b/src/test/java/org/springframework/data/repository/support/RepositoriesUnitTests.java index d065d6940..79ec9c7b5 100755 --- a/src/test/java/org/springframework/data/repository/support/RepositoriesUnitTests.java +++ b/src/test/java/org/springframework/data/repository/support/RepositoriesUnitTests.java @@ -279,19 +279,23 @@ class RepositoriesUnitTests { this.mappingContext = new SampleMappingContext(); } + @Override @SuppressWarnings({ "unchecked", "rawtypes" }) public EntityInformation getEntityInformation() { return new DummyEntityInformation(repositoryMetadata.getDomainType()); } + @Override public RepositoryInformation getRepositoryInformation() { return new DummyRepositoryInformation(repositoryMetadata); } + @Override public PersistentEntity getPersistentEntity() { return mappingContext.getRequiredPersistentEntity(repositoryMetadata.getDomainType()); } + @Override public List getQueryMethods() { return Collections.emptyList(); } diff --git a/src/test/java/org/springframework/data/transaction/ChainedTransactionManagerTests.java b/src/test/java/org/springframework/data/transaction/ChainedTransactionManagerTests.java index 1ca7f3b48..88261b94e 100755 --- a/src/test/java/org/springframework/data/transaction/ChainedTransactionManagerTests.java +++ b/src/test/java/org/springframework/data/transaction/ChainedTransactionManagerTests.java @@ -137,14 +137,17 @@ class ChainedTransactionManagerTests { private boolean synchronizationActive; + @Override public void initSynchronization() { synchronizationActive = true; } + @Override public boolean isSynchronizationActive() { return synchronizationActive; } + @Override public void clearSynchronization() { synchronizationActive = false; } diff --git a/src/test/java/org/springframework/data/util/ReflectionUtilsUnitTests.java b/src/test/java/org/springframework/data/util/ReflectionUtilsUnitTests.java index 3a12bd6ac..b7b74b059 100755 --- a/src/test/java/org/springframework/data/util/ReflectionUtilsUnitTests.java +++ b/src/test/java/org/springframework/data/util/ReflectionUtilsUnitTests.java @@ -178,6 +178,7 @@ class ReflectionUtilsUnitTests { return field.getName().equals(name); } + @Override public String getDescription() { return String.format("Filter for fields named %s", name); } diff --git a/src/test/java/org/springframework/data/web/querydsl/QuerydslPredicateArgumentResolverUnitTests.java b/src/test/java/org/springframework/data/web/querydsl/QuerydslPredicateArgumentResolverUnitTests.java index 9a79983b6..966657394 100755 --- a/src/test/java/org/springframework/data/web/querydsl/QuerydslPredicateArgumentResolverUnitTests.java +++ b/src/test/java/org/springframework/data/web/querydsl/QuerydslPredicateArgumentResolverUnitTests.java @@ -273,6 +273,7 @@ class QuerydslPredicateArgumentResolverUnitTests { static class SpecificBinding implements QuerydslBinderCustomizer { + @Override public void customize(QuerydslBindings bindings, QUser user) { bindings.bind(user.firstname).firstOptional((path, value) -> value.map(it -> path.eq(it.toUpperCase()))); diff --git a/src/test/java/org/springframework/data/web/querydsl/ReactiveQuerydslPredicateArgumentResolverUnitTests.java b/src/test/java/org/springframework/data/web/querydsl/ReactiveQuerydslPredicateArgumentResolverUnitTests.java index 33aae9b4a..a39b1c650 100755 --- a/src/test/java/org/springframework/data/web/querydsl/ReactiveQuerydslPredicateArgumentResolverUnitTests.java +++ b/src/test/java/org/springframework/data/web/querydsl/ReactiveQuerydslPredicateArgumentResolverUnitTests.java @@ -142,6 +142,7 @@ class ReactiveQuerydslPredicateArgumentResolverUnitTests { static class SpecificBinding implements QuerydslBinderCustomizer { + @Override public void customize(QuerydslBindings bindings, QUser user) { bindings.bind(user.firstname).firstOptional((path, value) -> value.map(it -> path.eq(it.toUpperCase())));