getRescorerQueries() {
/**
* @since 5.0
*/
- @Nullable
- public Query.PointInTime getPointInTime() {
+
+ public Query.@Nullable PointInTime getPointInTime() {
return pointInTime;
}
@@ -342,7 +341,7 @@ public SELF withIndicesBoost(IndexBoost... indicesBoost) {
return self();
}
- public SELF withSearchType(@Nullable Query.SearchType searchType) {
+ public SELF withSearchType(Query.@Nullable SearchType searchType) {
this.searchType = searchType;
return self();
}
@@ -426,7 +425,7 @@ public SELF withRescorerQuery(RescorerQuery rescorerQuery) {
/**
* @since 5.0
*/
- public SELF withPointInTime(@Nullable Query.PointInTime pointInTime) {
+ public SELF withPointInTime(Query.@Nullable PointInTime pointInTime) {
this.pointInTime = pointInTime;
return self();
}
diff --git a/src/main/java/org/springframework/data/elasticsearch/core/query/BulkOptions.java b/src/main/java/org/springframework/data/elasticsearch/core/query/BulkOptions.java
index 3c9ca4bc37..4e28b9d698 100644
--- a/src/main/java/org/springframework/data/elasticsearch/core/query/BulkOptions.java
+++ b/src/main/java/org/springframework/data/elasticsearch/core/query/BulkOptions.java
@@ -18,10 +18,10 @@
import java.time.Duration;
import java.util.List;
+import org.jspecify.annotations.Nullable;
import org.springframework.data.elasticsearch.core.ActiveShardCount;
import org.springframework.data.elasticsearch.core.RefreshPolicy;
import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates;
-import org.springframework.lang.Nullable;
/**
* Options that may be passed to an
diff --git a/src/main/java/org/springframework/data/elasticsearch/core/query/ByQueryResponse.java b/src/main/java/org/springframework/data/elasticsearch/core/query/ByQueryResponse.java
index 2f0236c85a..334132ab9a 100644
--- a/src/main/java/org/springframework/data/elasticsearch/core/query/ByQueryResponse.java
+++ b/src/main/java/org/springframework/data/elasticsearch/core/query/ByQueryResponse.java
@@ -18,8 +18,8 @@
import java.util.Collections;
import java.util.List;
+import org.jspecify.annotations.Nullable;
import org.springframework.data.elasticsearch.ElasticsearchErrorCause;
-import org.springframework.lang.Nullable;
/**
* Response of an update by query operation.
diff --git a/src/main/java/org/springframework/data/elasticsearch/core/query/Criteria.java b/src/main/java/org/springframework/data/elasticsearch/core/query/Criteria.java
index d398d7ee1f..00a55116cc 100644
--- a/src/main/java/org/springframework/data/elasticsearch/core/query/Criteria.java
+++ b/src/main/java/org/springframework/data/elasticsearch/core/query/Criteria.java
@@ -24,6 +24,7 @@
import java.util.Set;
import java.util.stream.Collectors;
+import org.jspecify.annotations.Nullable;
import org.springframework.dao.InvalidDataAccessApiUsageException;
import org.springframework.data.elasticsearch.core.geo.GeoBox;
import org.springframework.data.elasticsearch.core.geo.GeoJson;
@@ -31,7 +32,6 @@
import org.springframework.data.geo.Box;
import org.springframework.data.geo.Distance;
import org.springframework.data.geo.Point;
-import org.springframework.lang.Nullable;
import org.springframework.util.Assert;
import org.springframework.util.StringUtils;
diff --git a/src/main/java/org/springframework/data/elasticsearch/core/query/DeleteQuery.java b/src/main/java/org/springframework/data/elasticsearch/core/query/DeleteQuery.java
index d96fed8c7c..40f75e60b0 100644
--- a/src/main/java/org/springframework/data/elasticsearch/core/query/DeleteQuery.java
+++ b/src/main/java/org/springframework/data/elasticsearch/core/query/DeleteQuery.java
@@ -19,11 +19,11 @@
import java.util.EnumSet;
import java.util.List;
+import org.jspecify.annotations.Nullable;
import org.springframework.data.domain.Sort;
import org.springframework.data.elasticsearch.core.query.Query.SearchType;
import org.springframework.data.elasticsearch.core.query.types.ConflictsType;
import org.springframework.data.elasticsearch.core.query.types.OperatorType;
-import org.springframework.lang.Nullable;
import org.springframework.util.Assert;
/**
diff --git a/src/main/java/org/springframework/data/elasticsearch/core/query/DocValueField.java b/src/main/java/org/springframework/data/elasticsearch/core/query/DocValueField.java
index 4ac86722fa..d35af8b280 100644
--- a/src/main/java/org/springframework/data/elasticsearch/core/query/DocValueField.java
+++ b/src/main/java/org/springframework/data/elasticsearch/core/query/DocValueField.java
@@ -15,7 +15,7 @@
*/
package org.springframework.data.elasticsearch.core.query;
-import org.springframework.lang.Nullable;
+import org.jspecify.annotations.Nullable;
import org.springframework.util.Assert;
/**
diff --git a/src/main/java/org/springframework/data/elasticsearch/core/query/FetchSourceFilter.java b/src/main/java/org/springframework/data/elasticsearch/core/query/FetchSourceFilter.java
index ed3be07273..e6ffa17ed6 100644
--- a/src/main/java/org/springframework/data/elasticsearch/core/query/FetchSourceFilter.java
+++ b/src/main/java/org/springframework/data/elasticsearch/core/query/FetchSourceFilter.java
@@ -17,7 +17,7 @@
import java.util.function.Function;
-import org.springframework.lang.Nullable;
+import org.jspecify.annotations.Nullable;
import org.springframework.util.Assert;
/**
diff --git a/src/main/java/org/springframework/data/elasticsearch/core/query/FetchSourceFilterBuilder.java b/src/main/java/org/springframework/data/elasticsearch/core/query/FetchSourceFilterBuilder.java
index 6897365119..cccb2a72b5 100644
--- a/src/main/java/org/springframework/data/elasticsearch/core/query/FetchSourceFilterBuilder.java
+++ b/src/main/java/org/springframework/data/elasticsearch/core/query/FetchSourceFilterBuilder.java
@@ -15,7 +15,7 @@
*/
package org.springframework.data.elasticsearch.core.query;
-import org.springframework.lang.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* SourceFilter builder for providing includes and excludes.
diff --git a/src/main/java/org/springframework/data/elasticsearch/core/query/Field.java b/src/main/java/org/springframework/data/elasticsearch/core/query/Field.java
index 77c8ea45cd..cbfc5ea4f8 100644
--- a/src/main/java/org/springframework/data/elasticsearch/core/query/Field.java
+++ b/src/main/java/org/springframework/data/elasticsearch/core/query/Field.java
@@ -15,8 +15,8 @@
*/
package org.springframework.data.elasticsearch.core.query;
+import org.jspecify.annotations.Nullable;
import org.springframework.data.elasticsearch.annotations.FieldType;
-import org.springframework.lang.Nullable;
/**
* Defines a Field that can be used within a Criteria.
diff --git a/src/main/java/org/springframework/data/elasticsearch/core/query/HasChildQuery.java b/src/main/java/org/springframework/data/elasticsearch/core/query/HasChildQuery.java
index 5fe4d5a122..17ce512c48 100644
--- a/src/main/java/org/springframework/data/elasticsearch/core/query/HasChildQuery.java
+++ b/src/main/java/org/springframework/data/elasticsearch/core/query/HasChildQuery.java
@@ -15,7 +15,7 @@
*/
package org.springframework.data.elasticsearch.core.query;
-import org.springframework.lang.Nullable;
+import org.jspecify.annotations.Nullable;
import org.springframework.util.Assert;
/**
diff --git a/src/main/java/org/springframework/data/elasticsearch/core/query/HasParentQuery.java b/src/main/java/org/springframework/data/elasticsearch/core/query/HasParentQuery.java
index 0d8f9fb731..7e182c7e81 100644
--- a/src/main/java/org/springframework/data/elasticsearch/core/query/HasParentQuery.java
+++ b/src/main/java/org/springframework/data/elasticsearch/core/query/HasParentQuery.java
@@ -15,7 +15,7 @@
*/
package org.springframework.data.elasticsearch.core.query;
-import org.springframework.lang.Nullable;
+import org.jspecify.annotations.Nullable;
import org.springframework.util.Assert;
/**
diff --git a/src/main/java/org/springframework/data/elasticsearch/core/query/HighlightQuery.java b/src/main/java/org/springframework/data/elasticsearch/core/query/HighlightQuery.java
index 370afcd2c1..5e8e2a5a70 100644
--- a/src/main/java/org/springframework/data/elasticsearch/core/query/HighlightQuery.java
+++ b/src/main/java/org/springframework/data/elasticsearch/core/query/HighlightQuery.java
@@ -15,8 +15,8 @@
*/
package org.springframework.data.elasticsearch.core.query;
+import org.jspecify.annotations.Nullable;
import org.springframework.data.elasticsearch.core.query.highlight.Highlight;
-import org.springframework.lang.Nullable;
import org.springframework.util.Assert;
/**
diff --git a/src/main/java/org/springframework/data/elasticsearch/core/query/IndexQuery.java b/src/main/java/org/springframework/data/elasticsearch/core/query/IndexQuery.java
index 38e358bcaf..cad53334af 100644
--- a/src/main/java/org/springframework/data/elasticsearch/core/query/IndexQuery.java
+++ b/src/main/java/org/springframework/data/elasticsearch/core/query/IndexQuery.java
@@ -15,7 +15,7 @@
*/
package org.springframework.data.elasticsearch.core.query;
-import org.springframework.lang.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* IndexQuery
diff --git a/src/main/java/org/springframework/data/elasticsearch/core/query/IndexQueryBuilder.java b/src/main/java/org/springframework/data/elasticsearch/core/query/IndexQueryBuilder.java
index 8cc67b2867..6e45280439 100644
--- a/src/main/java/org/springframework/data/elasticsearch/core/query/IndexQueryBuilder.java
+++ b/src/main/java/org/springframework/data/elasticsearch/core/query/IndexQueryBuilder.java
@@ -15,8 +15,8 @@
*/
package org.springframework.data.elasticsearch.core.query;
+import org.jspecify.annotations.Nullable;
import org.springframework.data.elasticsearch.core.RefreshPolicy;
-import org.springframework.lang.Nullable;
/**
* IndexQuery Builder
@@ -36,7 +36,7 @@ public class IndexQueryBuilder {
@Nullable private Long seqNo;
@Nullable private Long primaryTerm;
@Nullable private String routing;
- @Nullable private IndexQuery.OpType opType;
+ private IndexQuery.@Nullable OpType opType;
@Nullable private RefreshPolicy refreshPolicy;
@Nullable private String indexName;
diff --git a/src/main/java/org/springframework/data/elasticsearch/core/query/InnerHitsQuery.java b/src/main/java/org/springframework/data/elasticsearch/core/query/InnerHitsQuery.java
index d4a92954d4..5097e72171 100644
--- a/src/main/java/org/springframework/data/elasticsearch/core/query/InnerHitsQuery.java
+++ b/src/main/java/org/springframework/data/elasticsearch/core/query/InnerHitsQuery.java
@@ -15,7 +15,7 @@
*/
package org.springframework.data.elasticsearch.core.query;
-import org.springframework.lang.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Defines an inner_hits request.
diff --git a/src/main/java/org/springframework/data/elasticsearch/core/query/MoreLikeThisQuery.java b/src/main/java/org/springframework/data/elasticsearch/core/query/MoreLikeThisQuery.java
index 57ce6ea34a..421e259403 100644
--- a/src/main/java/org/springframework/data/elasticsearch/core/query/MoreLikeThisQuery.java
+++ b/src/main/java/org/springframework/data/elasticsearch/core/query/MoreLikeThisQuery.java
@@ -21,8 +21,8 @@
import java.util.ArrayList;
import java.util.List;
+import org.jspecify.annotations.Nullable;
import org.springframework.data.domain.Pageable;
-import org.springframework.lang.Nullable;
import org.springframework.util.Assert;
/**
diff --git a/src/main/java/org/springframework/data/elasticsearch/core/query/Order.java b/src/main/java/org/springframework/data/elasticsearch/core/query/Order.java
index a3eaad2477..70044d2ed9 100644
--- a/src/main/java/org/springframework/data/elasticsearch/core/query/Order.java
+++ b/src/main/java/org/springframework/data/elasticsearch/core/query/Order.java
@@ -17,8 +17,8 @@
import java.util.function.Function;
+import org.jspecify.annotations.Nullable;
import org.springframework.data.domain.Sort;
-import org.springframework.lang.Nullable;
import org.springframework.util.Assert;
/**
diff --git a/src/main/java/org/springframework/data/elasticsearch/core/query/Query.java b/src/main/java/org/springframework/data/elasticsearch/core/query/Query.java
index 2a0dd17b7b..ce3d445e1b 100644
--- a/src/main/java/org/springframework/data/elasticsearch/core/query/Query.java
+++ b/src/main/java/org/springframework/data/elasticsearch/core/query/Query.java
@@ -22,11 +22,11 @@
import java.util.List;
import java.util.Optional;
+import org.jspecify.annotations.Nullable;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.elasticsearch.core.SearchHit;
-import org.springframework.lang.Nullable;
import org.springframework.util.Assert;
/**
diff --git a/src/main/java/org/springframework/data/elasticsearch/core/query/RescorerQuery.java b/src/main/java/org/springframework/data/elasticsearch/core/query/RescorerQuery.java
index c35725d1e0..96ce4a9f1b 100644
--- a/src/main/java/org/springframework/data/elasticsearch/core/query/RescorerQuery.java
+++ b/src/main/java/org/springframework/data/elasticsearch/core/query/RescorerQuery.java
@@ -15,7 +15,7 @@
*/
package org.springframework.data.elasticsearch.core.query;
-import org.springframework.lang.Nullable;
+import org.jspecify.annotations.Nullable;
import org.springframework.util.Assert;
/**
diff --git a/src/main/java/org/springframework/data/elasticsearch/core/query/RuntimeField.java b/src/main/java/org/springframework/data/elasticsearch/core/query/RuntimeField.java
index 805883a5f9..2f7afcdb60 100644
--- a/src/main/java/org/springframework/data/elasticsearch/core/query/RuntimeField.java
+++ b/src/main/java/org/springframework/data/elasticsearch/core/query/RuntimeField.java
@@ -18,7 +18,7 @@
import java.util.HashMap;
import java.util.Map;
-import org.springframework.lang.Nullable;
+import org.jspecify.annotations.Nullable;
import org.springframework.util.Assert;
/**
diff --git a/src/main/java/org/springframework/data/elasticsearch/core/query/ScriptData.java b/src/main/java/org/springframework/data/elasticsearch/core/query/ScriptData.java
index 0bcb6ad207..fc81b95d4a 100644
--- a/src/main/java/org/springframework/data/elasticsearch/core/query/ScriptData.java
+++ b/src/main/java/org/springframework/data/elasticsearch/core/query/ScriptData.java
@@ -15,100 +15,110 @@
*/
package org.springframework.data.elasticsearch.core.query;
+import org.jspecify.annotations.Nullable;
+import org.springframework.util.Assert;
+
import java.util.Map;
import java.util.function.Function;
-import org.springframework.lang.Nullable;
-import org.springframework.util.Assert;
-
/**
* value class combining script information.
+ *
+ * A script is either an inline script, then the script parameters must be set
+ * or it refers to a stored script, then the name parameter is required.
*
+ * @param language the language when the script is passed in the script parameter
+ * @param script the script to use as inline script
+ * @param scriptName the name when using a stored script
+ * @param params the script parameters
* @author Peter-Josef Meisch
* @since 4.4
*/
-public record ScriptData(ScriptType type, @Nullable String language, @Nullable String script,
- @Nullable String scriptName, @Nullable Map params) {
-
- public ScriptData(ScriptType type, @Nullable String language, @Nullable String script, @Nullable String scriptName,
- @Nullable Map params) {
-
- Assert.notNull(type, "type must not be null");
-
- this.type = type;
- this.language = language;
- this.script = script;
- this.scriptName = scriptName;
- this.params = params;
- }
-
- /**
- * @since 5.2
- */
- public static ScriptData of(ScriptType type, @Nullable String language, @Nullable String script,
- @Nullable String scriptName, @Nullable Map params) {
- return new ScriptData(type, language, script, scriptName, params);
- }
-
- public static ScriptData of(Function builderFunction) {
-
- Assert.notNull(builderFunction, "f must not be null");
-
- return builderFunction.apply(new Builder()).build();
- }
-
- /**
- * @since 5.2
- */
- public static Builder builder() {
- return new Builder();
- }
-
- /**
- * @since 5.2
- */
- public static final class Builder {
- @Nullable private ScriptType type;
- @Nullable private String language;
- @Nullable private String script;
- @Nullable private String scriptName;
- @Nullable private Map params;
-
- private Builder() {}
-
- public Builder withType(ScriptType type) {
-
- Assert.notNull(type, "type must not be null");
-
- this.type = type;
- return this;
- }
-
- public Builder withLanguage(@Nullable String language) {
- this.language = language;
- return this;
- }
-
- public Builder withScript(@Nullable String script) {
- this.script = script;
- return this;
- }
-
- public Builder withScriptName(@Nullable String scriptName) {
- this.scriptName = scriptName;
- return this;
- }
-
- public Builder withParams(@Nullable Map params) {
- this.params = params;
- return this;
- }
-
- public ScriptData build() {
-
- Assert.notNull(type, "type must be set");
-
- return new ScriptData(type, language, script, scriptName, params);
- }
- }
+public record ScriptData(@Nullable String language, @Nullable String script,
+ @Nullable String scriptName, @Nullable Map params) {
+
+ /*
+ * constructor overload to check the parameters
+ */
+ public ScriptData(@Nullable String language, @Nullable String script, @Nullable String scriptName,
+ @Nullable Map params) {
+
+ Assert.isTrue(script != null || scriptName != null, "script or scriptName is required");
+
+ this.language = language;
+ this.script = script;
+ this.scriptName = scriptName;
+ this.params = params;
+ }
+
+ /**
+ * factory method to create a ScriptData object.
+ *
+ * @since 5.2
+ */
+ public static ScriptData of(@Nullable String language, @Nullable String script,
+ @Nullable String scriptName, @Nullable Map params) {
+ return new ScriptData(language, script, scriptName, params);
+ }
+
+ /**
+ * factory method to create a ScriptData object using a ScriptBuilder callback.
+ *
+ * @param builderFunction function called to populate the builder
+ * @return
+ */
+ public static ScriptData of(Function builderFunction) {
+
+ Assert.notNull(builderFunction, "builderFunction must not be null");
+
+ return builderFunction.apply(new Builder()).build();
+ }
+
+ /**
+ * @since 5.2
+ */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ /**
+ * @since 5.2
+ */
+ public static final class Builder {
+ @Nullable
+ private String language;
+ @Nullable
+ private String script;
+ @Nullable
+ private String scriptName;
+ @Nullable
+ private Map params;
+
+ private Builder() {
+ }
+
+ public Builder withLanguage(@Nullable String language) {
+ this.language = language;
+ return this;
+ }
+
+ public Builder withScript(@Nullable String script) {
+ this.script = script;
+ return this;
+ }
+
+ public Builder withScriptName(@Nullable String scriptName) {
+ this.scriptName = scriptName;
+ return this;
+ }
+
+ public Builder withParams(@Nullable Map params) {
+ this.params = params;
+ return this;
+ }
+
+ public ScriptData build() {
+ return new ScriptData(language, script, scriptName, params);
+ }
+ }
}
diff --git a/src/main/java/org/springframework/data/elasticsearch/core/query/ScriptType.java b/src/main/java/org/springframework/data/elasticsearch/core/query/ScriptType.java
deleted file mode 100644
index 1c6ceecab2..0000000000
--- a/src/main/java/org/springframework/data/elasticsearch/core/query/ScriptType.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright 2021-2025 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.springframework.data.elasticsearch.core.query;
-
-/**
- * Define script types for update queries.
- *
- * @author Farid Faoudi
- * @since 4.2
- */
-
-public enum ScriptType {
- INLINE, STORED
-}
diff --git a/src/main/java/org/springframework/data/elasticsearch/core/query/SearchTemplateQuery.java b/src/main/java/org/springframework/data/elasticsearch/core/query/SearchTemplateQuery.java
index 4b4999fb05..804582c7bd 100644
--- a/src/main/java/org/springframework/data/elasticsearch/core/query/SearchTemplateQuery.java
+++ b/src/main/java/org/springframework/data/elasticsearch/core/query/SearchTemplateQuery.java
@@ -17,7 +17,7 @@
import java.util.Map;
-import org.springframework.lang.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* @author Peter-Josef Meisch
diff --git a/src/main/java/org/springframework/data/elasticsearch/core/query/SearchTemplateQueryBuilder.java b/src/main/java/org/springframework/data/elasticsearch/core/query/SearchTemplateQueryBuilder.java
index a0b61e27ef..225933a677 100644
--- a/src/main/java/org/springframework/data/elasticsearch/core/query/SearchTemplateQueryBuilder.java
+++ b/src/main/java/org/springframework/data/elasticsearch/core/query/SearchTemplateQueryBuilder.java
@@ -17,9 +17,9 @@
import java.util.Map;
+import org.jspecify.annotations.Nullable;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
-import org.springframework.lang.Nullable;
/**
* @author Peter-Josef Meisch
diff --git a/src/main/java/org/springframework/data/elasticsearch/core/query/SimpleField.java b/src/main/java/org/springframework/data/elasticsearch/core/query/SimpleField.java
index e943743654..298954cfa6 100644
--- a/src/main/java/org/springframework/data/elasticsearch/core/query/SimpleField.java
+++ b/src/main/java/org/springframework/data/elasticsearch/core/query/SimpleField.java
@@ -15,12 +15,12 @@
*/
package org.springframework.data.elasticsearch.core.query;
+import java.util.Objects;
+
+import org.jspecify.annotations.Nullable;
import org.springframework.data.elasticsearch.annotations.FieldType;
-import org.springframework.lang.Nullable;
import org.springframework.util.Assert;
-import java.util.Objects;
-
/**
* The most trivial implementation of a Field. The {@link #name} is updatable, so it may be changed during query
* preparation by the {@link org.springframework.data.elasticsearch.core.convert.MappingElasticsearchConverter}.
@@ -84,9 +84,12 @@ public String toString() {
@Override
public boolean equals(Object o) {
- if (this == o) return true;
- if (!(o instanceof SimpleField that)) return false;
- return Objects.equals(name, that.name) && Objects.equals(fieldType, that.fieldType) && Objects.equals(path, that.path);
+ if (this == o)
+ return true;
+ if (!(o instanceof SimpleField that))
+ return false;
+ return Objects.equals(name, that.name) && Objects.equals(fieldType, that.fieldType)
+ && Objects.equals(path, that.path);
}
@Override
diff --git a/src/main/java/org/springframework/data/elasticsearch/core/query/SourceFilter.java b/src/main/java/org/springframework/data/elasticsearch/core/query/SourceFilter.java
index 150cffb773..6696615964 100644
--- a/src/main/java/org/springframework/data/elasticsearch/core/query/SourceFilter.java
+++ b/src/main/java/org/springframework/data/elasticsearch/core/query/SourceFilter.java
@@ -15,8 +15,8 @@
*/
package org.springframework.data.elasticsearch.core.query;
+import org.jspecify.annotations.Nullable;
import org.springframework.data.elasticsearch.annotations.Field;
-import org.springframework.lang.Nullable;
/**
* SourceFilter for providing includes and excludes. Using these helps in reducing the amount of data that is returned
diff --git a/src/main/java/org/springframework/data/elasticsearch/core/query/SqlQuery.java b/src/main/java/org/springframework/data/elasticsearch/core/query/SqlQuery.java
index f14f1738e4..332ba69627 100644
--- a/src/main/java/org/springframework/data/elasticsearch/core/query/SqlQuery.java
+++ b/src/main/java/org/springframework/data/elasticsearch/core/query/SqlQuery.java
@@ -20,7 +20,7 @@
import java.util.List;
import java.util.TimeZone;
-import org.springframework.lang.Nullable;
+import org.jspecify.annotations.Nullable;
import org.springframework.util.Assert;
/**
diff --git a/src/main/java/org/springframework/data/elasticsearch/core/query/UpdateQuery.java b/src/main/java/org/springframework/data/elasticsearch/core/query/UpdateQuery.java
index 90f759749e..75959bb56a 100644
--- a/src/main/java/org/springframework/data/elasticsearch/core/query/UpdateQuery.java
+++ b/src/main/java/org/springframework/data/elasticsearch/core/query/UpdateQuery.java
@@ -18,9 +18,9 @@
import java.util.List;
import java.util.Map;
+import org.jspecify.annotations.Nullable;
import org.springframework.data.elasticsearch.core.RefreshPolicy;
import org.springframework.data.elasticsearch.core.document.Document;
-import org.springframework.lang.Nullable;
/**
* Defines an update request.
@@ -76,7 +76,7 @@ private UpdateQuery(String id, @Nullable String script, @Nullable Map
diff --git a/src/main/java/org/springframework/data/elasticsearch/repository/ReactiveElasticsearchRepository.java b/src/main/java/org/springframework/data/elasticsearch/repository/ReactiveElasticsearchRepository.java
index 59ee81f307..9ab2a3108d 100644
--- a/src/main/java/org/springframework/data/elasticsearch/repository/ReactiveElasticsearchRepository.java
+++ b/src/main/java/org/springframework/data/elasticsearch/repository/ReactiveElasticsearchRepository.java
@@ -18,12 +18,12 @@
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
+import org.jspecify.annotations.Nullable;
import org.reactivestreams.Publisher;
import org.springframework.data.elasticsearch.core.RefreshPolicy;
import org.springframework.data.repository.NoRepositoryBean;
import org.springframework.data.repository.reactive.ReactiveCrudRepository;
import org.springframework.data.repository.reactive.ReactiveSortingRepository;
-import org.springframework.lang.Nullable;
/**
* Elasticsearch specific {@link org.springframework.data.repository.Repository} interface with reactive support.
diff --git a/src/main/java/org/springframework/data/elasticsearch/repository/aot/RepositoryRuntimeHints.java b/src/main/java/org/springframework/data/elasticsearch/repository/aot/RepositoryRuntimeHints.java
index b86a7137c9..719905721d 100644
--- a/src/main/java/org/springframework/data/elasticsearch/repository/aot/RepositoryRuntimeHints.java
+++ b/src/main/java/org/springframework/data/elasticsearch/repository/aot/RepositoryRuntimeHints.java
@@ -19,11 +19,11 @@
import java.util.Arrays;
+import org.jspecify.annotations.Nullable;
import org.springframework.aot.hint.MemberCategory;
import org.springframework.aot.hint.RuntimeHints;
import org.springframework.aot.hint.RuntimeHintsRegistrar;
import org.springframework.aot.hint.TypeReference;
-import org.springframework.lang.Nullable;
/**
* @author Peter-Josef Meisch
diff --git a/src/main/java/org/springframework/data/elasticsearch/repository/aot/package-info.java b/src/main/java/org/springframework/data/elasticsearch/repository/aot/package-info.java
index 1a7c898aa4..270425b63b 100644
--- a/src/main/java/org/springframework/data/elasticsearch/repository/aot/package-info.java
+++ b/src/main/java/org/springframework/data/elasticsearch/repository/aot/package-info.java
@@ -1,3 +1,2 @@
-@org.springframework.lang.NonNullApi
-@org.springframework.lang.NonNullFields
+@org.jspecify.annotations.NullMarked
package org.springframework.data.elasticsearch.repository.aot;
diff --git a/src/main/java/org/springframework/data/elasticsearch/repository/cdi/package-info.java b/src/main/java/org/springframework/data/elasticsearch/repository/cdi/package-info.java
index f11afc98b3..b307ca9737 100644
--- a/src/main/java/org/springframework/data/elasticsearch/repository/cdi/package-info.java
+++ b/src/main/java/org/springframework/data/elasticsearch/repository/cdi/package-info.java
@@ -1,3 +1,2 @@
-@org.springframework.lang.NonNullApi
-@org.springframework.lang.NonNullFields
+@org.jspecify.annotations.NullMarked
package org.springframework.data.elasticsearch.repository.cdi;
diff --git a/src/main/java/org/springframework/data/elasticsearch/repository/config/package-info.java b/src/main/java/org/springframework/data/elasticsearch/repository/config/package-info.java
index 9f8e266765..2278b3f140 100644
--- a/src/main/java/org/springframework/data/elasticsearch/repository/config/package-info.java
+++ b/src/main/java/org/springframework/data/elasticsearch/repository/config/package-info.java
@@ -1,3 +1,2 @@
-@org.springframework.lang.NonNullApi
-@org.springframework.lang.NonNullFields
+@org.jspecify.annotations.NullMarked
package org.springframework.data.elasticsearch.repository.config;
diff --git a/src/main/java/org/springframework/data/elasticsearch/repository/package-info.java b/src/main/java/org/springframework/data/elasticsearch/repository/package-info.java
index 9d9e57ab26..14c68bac4f 100644
--- a/src/main/java/org/springframework/data/elasticsearch/repository/package-info.java
+++ b/src/main/java/org/springframework/data/elasticsearch/repository/package-info.java
@@ -1,5 +1,5 @@
/**
* infrastructure to define the Elasticsearch mapping for an index.
*/
-@org.springframework.lang.NonNullApi
+@org.jspecify.annotations.NullMarked
package org.springframework.data.elasticsearch.repository;
diff --git a/src/main/java/org/springframework/data/elasticsearch/repository/query/AbstractElasticsearchRepositoryQuery.java b/src/main/java/org/springframework/data/elasticsearch/repository/query/AbstractElasticsearchRepositoryQuery.java
index aa4f84e085..fae3b1992a 100644
--- a/src/main/java/org/springframework/data/elasticsearch/repository/query/AbstractElasticsearchRepositoryQuery.java
+++ b/src/main/java/org/springframework/data/elasticsearch/repository/query/AbstractElasticsearchRepositoryQuery.java
@@ -15,6 +15,7 @@
*/
package org.springframework.data.elasticsearch.repository.query;
+import org.jspecify.annotations.Nullable;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.elasticsearch.core.ElasticsearchOperations;
import org.springframework.data.elasticsearch.core.SearchHitSupport;
@@ -31,7 +32,6 @@
import org.springframework.data.repository.query.RepositoryQuery;
import org.springframework.data.repository.query.ResultProcessor;
import org.springframework.data.util.StreamUtils;
-import org.springframework.lang.Nullable;
import org.springframework.util.Assert;
import org.springframework.util.ClassUtils;
diff --git a/src/main/java/org/springframework/data/elasticsearch/repository/query/AbstractReactiveElasticsearchRepositoryQuery.java b/src/main/java/org/springframework/data/elasticsearch/repository/query/AbstractReactiveElasticsearchRepositoryQuery.java
index 6bd79fb901..1d72522865 100644
--- a/src/main/java/org/springframework/data/elasticsearch/repository/query/AbstractReactiveElasticsearchRepositoryQuery.java
+++ b/src/main/java/org/springframework/data/elasticsearch/repository/query/AbstractReactiveElasticsearchRepositoryQuery.java
@@ -15,7 +15,6 @@
*/
package org.springframework.data.elasticsearch.repository.query;
-import org.springframework.data.expression.ValueEvaluationContextProvider;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
@@ -33,10 +32,10 @@
import org.springframework.data.elasticsearch.core.query.Query;
import org.springframework.data.elasticsearch.repository.query.ReactiveElasticsearchQueryExecution.ResultProcessingConverter;
import org.springframework.data.elasticsearch.repository.query.ReactiveElasticsearchQueryExecution.ResultProcessingExecution;
+import org.springframework.data.expression.ValueEvaluationContextProvider;
import org.springframework.data.mapping.context.MappingContext;
import org.springframework.data.repository.query.ParameterAccessor;
import org.springframework.data.repository.query.QueryMethod;
-import org.springframework.data.repository.query.QueryMethodEvaluationContextProvider;
import org.springframework.data.repository.query.RepositoryQuery;
import org.springframework.data.repository.query.ResultProcessor;
import org.springframework.util.Assert;
@@ -57,7 +56,7 @@ abstract class AbstractReactiveElasticsearchRepositoryQuery implements Repositor
AbstractReactiveElasticsearchRepositoryQuery(ReactiveElasticsearchQueryMethod queryMethod,
ReactiveElasticsearchOperations elasticsearchOperations,
- ValueEvaluationContextProvider evaluationContextProvider) {
+ ValueEvaluationContextProvider evaluationContextProvider) {
Assert.notNull(queryMethod, "queryMethod must not be null");
Assert.notNull(elasticsearchOperations, "elasticsearchOperations must not be null");
@@ -106,7 +105,8 @@ private Object execute(ElasticsearchParametersParameterAccessor parameterAccesso
var query = createQuery(parameterAccessor);
Assert.notNull(query, "unsupported query");
- queryMethod.addSpecialMethodParameters(query, parameterAccessor, elasticsearchOperations.getElasticsearchConverter(),
+ queryMethod.addSpecialMethodParameters(query, parameterAccessor,
+ elasticsearchOperations.getElasticsearchConverter(),
evaluationContextProvider);
String indexName = queryMethod.getEntityInformation().getIndexName();
diff --git a/src/main/java/org/springframework/data/elasticsearch/repository/query/ElasticsearchQueryMethod.java b/src/main/java/org/springframework/data/elasticsearch/repository/query/ElasticsearchQueryMethod.java
index 5433a3bd66..2ff4bc2365 100644
--- a/src/main/java/org/springframework/data/elasticsearch/repository/query/ElasticsearchQueryMethod.java
+++ b/src/main/java/org/springframework/data/elasticsearch/repository/query/ElasticsearchQueryMethod.java
@@ -23,6 +23,7 @@
import java.util.List;
import java.util.stream.Stream;
+import org.jspecify.annotations.Nullable;
import org.springframework.core.annotation.AnnotatedElementUtils;
import org.springframework.core.convert.ConversionService;
import org.springframework.dao.InvalidDataAccessApiUsageException;
@@ -51,11 +52,9 @@
import org.springframework.data.repository.query.Parameters;
import org.springframework.data.repository.query.ParametersSource;
import org.springframework.data.repository.query.QueryMethod;
-import org.springframework.data.repository.query.QueryMethodEvaluationContextProvider;
import org.springframework.data.repository.util.QueryExecutionConverters;
import org.springframework.data.repository.util.ReactiveWrapperConverters;
import org.springframework.data.util.TypeInformation;
-import org.springframework.lang.Nullable;
import org.springframework.util.Assert;
import org.springframework.util.ClassUtils;
@@ -400,8 +399,8 @@ private Class> potentiallyUnwrapReturnTypeFor(RepositoryMetadata metadata, Met
}
void addSpecialMethodParameters(BaseQuery query, ElasticsearchParametersParameterAccessor parameterAccessor,
- ElasticsearchConverter elasticsearchConverter,
- ValueEvaluationContextProvider evaluationContextProvider) {
+ ElasticsearchConverter elasticsearchConverter,
+ ValueEvaluationContextProvider evaluationContextProvider) {
if (hasAnnotatedHighlight()) {
var highlightQuery = getAnnotatedHighlightQuery(new HighlightConverter(parameterAccessor,
diff --git a/src/main/java/org/springframework/data/elasticsearch/repository/query/ReactiveElasticsearchQueryExecution.java b/src/main/java/org/springframework/data/elasticsearch/repository/query/ReactiveElasticsearchQueryExecution.java
index d66a0087e0..c166e7edd6 100644
--- a/src/main/java/org/springframework/data/elasticsearch/repository/query/ReactiveElasticsearchQueryExecution.java
+++ b/src/main/java/org/springframework/data/elasticsearch/repository/query/ReactiveElasticsearchQueryExecution.java
@@ -15,12 +15,12 @@
*/
package org.springframework.data.elasticsearch.repository.query;
+import org.jspecify.annotations.Nullable;
import org.springframework.core.convert.converter.Converter;
import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates;
import org.springframework.data.elasticsearch.core.query.Query;
import org.springframework.data.repository.query.ResultProcessor;
import org.springframework.data.repository.query.ReturnedType;
-import org.springframework.lang.Nullable;
import org.springframework.util.Assert;
import org.springframework.util.ClassUtils;
diff --git a/src/main/java/org/springframework/data/elasticsearch/repository/query/ReactiveRepositoryStringQuery.java b/src/main/java/org/springframework/data/elasticsearch/repository/query/ReactiveRepositoryStringQuery.java
index 11e3b81ec6..45b9e66e58 100644
--- a/src/main/java/org/springframework/data/elasticsearch/repository/query/ReactiveRepositoryStringQuery.java
+++ b/src/main/java/org/springframework/data/elasticsearch/repository/query/ReactiveRepositoryStringQuery.java
@@ -20,7 +20,6 @@
import org.springframework.data.elasticsearch.core.query.BaseQuery;
import org.springframework.data.elasticsearch.core.query.StringQuery;
import org.springframework.data.elasticsearch.repository.support.QueryStringProcessor;
-import org.springframework.data.repository.query.QueryMethodEvaluationContextProvider;
import org.springframework.data.repository.query.ValueExpressionDelegate;
import org.springframework.util.Assert;
diff --git a/src/main/java/org/springframework/data/elasticsearch/repository/query/package-info.java b/src/main/java/org/springframework/data/elasticsearch/repository/query/package-info.java
index 0db3509f20..e903d1ffe1 100644
--- a/src/main/java/org/springframework/data/elasticsearch/repository/query/package-info.java
+++ b/src/main/java/org/springframework/data/elasticsearch/repository/query/package-info.java
@@ -1,3 +1,2 @@
-@org.springframework.lang.NonNullApi
-@org.springframework.lang.NonNullFields
+@org.jspecify.annotations.NullMarked
package org.springframework.data.elasticsearch.repository.query;
diff --git a/src/main/java/org/springframework/data/elasticsearch/repository/query/parser/ElasticsearchQueryCreator.java b/src/main/java/org/springframework/data/elasticsearch/repository/query/parser/ElasticsearchQueryCreator.java
index e681d018d7..5c1456796a 100644
--- a/src/main/java/org/springframework/data/elasticsearch/repository/query/parser/ElasticsearchQueryCreator.java
+++ b/src/main/java/org/springframework/data/elasticsearch/repository/query/parser/ElasticsearchQueryCreator.java
@@ -15,6 +15,10 @@
*/
package org.springframework.data.elasticsearch.repository.query.parser;
+import java.util.Collection;
+import java.util.Iterator;
+
+import org.jspecify.annotations.Nullable;
import org.springframework.dao.InvalidDataAccessApiUsageException;
import org.springframework.data.domain.Sort;
import org.springframework.data.elasticsearch.core.geo.GeoBox;
@@ -31,10 +35,6 @@
import org.springframework.data.repository.query.parser.AbstractQueryCreator;
import org.springframework.data.repository.query.parser.Part;
import org.springframework.data.repository.query.parser.PartTree;
-import org.springframework.lang.Nullable;
-
-import java.util.Collection;
-import java.util.Iterator;
/**
* ElasticsearchQueryCreator
@@ -48,159 +48,159 @@
*/
public class ElasticsearchQueryCreator extends AbstractQueryCreator {
- private final MappingContext, ElasticsearchPersistentProperty> context;
-
- public ElasticsearchQueryCreator(PartTree tree, ParameterAccessor parameters,
- MappingContext, ElasticsearchPersistentProperty> context) {
- super(tree, parameters);
- this.context = context;
- }
-
- public ElasticsearchQueryCreator(PartTree tree, MappingContext, ElasticsearchPersistentProperty> context) {
- super(tree);
- this.context = context;
- }
-
- @Override
- protected CriteriaQuery create(Part part, Iterator