Skip to content

Commit edf375b

Browse files
committed
HSEARCH-3319 Add context type
1 parent bae0f47 commit edf375b

File tree

349 files changed

+2064
-1793
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

349 files changed

+2064
-1793
lines changed

backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/ElasticsearchExtension.java

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -64,23 +64,25 @@
6464
*
6565
* @see #get()
6666
*/
67-
public final class ElasticsearchExtension<H, R, E, LOS>
68-
implements SearchQueryDslExtension<ElasticsearchSearchQuerySelectStep<R, E, LOS>, R, E, LOS>,
67+
public final class ElasticsearchExtension<SR, H, R, E, LOS>
68+
implements SearchQueryDslExtension<SR, ElasticsearchSearchQuerySelectStep<SR, R, E, LOS>, R, E, LOS>,
6969
SearchQueryExtension<ElasticsearchSearchQuery<H>, H>,
70-
SearchPredicateFactoryExtension<ElasticsearchSearchPredicateFactory>,
71-
SearchSortFactoryExtension<ElasticsearchSearchSortFactory>,
72-
SearchProjectionFactoryExtension<ElasticsearchSearchProjectionFactory<R, E>, R, E>,
73-
SearchAggregationFactoryExtension<ElasticsearchSearchAggregationFactory>,
70+
SearchPredicateFactoryExtension<SR, ElasticsearchSearchPredicateFactory<SR>>,
71+
SearchSortFactoryExtension<SR, ElasticsearchSearchSortFactory<SR>>,
72+
SearchProjectionFactoryExtension<SR, ElasticsearchSearchProjectionFactory<SR, R, E>, R, E>,
73+
SearchAggregationFactoryExtension<SR, ElasticsearchSearchAggregationFactory<SR>>,
7474
IndexFieldTypeFactoryExtension<ElasticsearchIndexFieldTypeFactory>,
7575
SchemaExportExtension<ElasticsearchIndexSchemaExport> {
7676

7777
private static final Log log = LoggerFactory.make( Log.class, MethodHandles.lookup() );
7878

79-
private static final ElasticsearchExtension<Object, Object, Object, Object> INSTANCE = new ElasticsearchExtension<>();
79+
private static final ElasticsearchExtension<Object, Object, Object, Object, Object> INSTANCE =
80+
new ElasticsearchExtension<>();
8081

8182
/**
8283
* Get the extension with generic parameters automatically set as appropriate for the context in which it's used.
8384
*
85+
* @param <SR> Scope root type.
8486
* @param <H> The type of query hits.
8587
* Users should not have to care about this, as the parameter will automatically take the appropriate value when calling
8688
* {@code .extension( ElasticsearchExtension.get() )}.
@@ -96,8 +98,8 @@ public final class ElasticsearchExtension<H, R, E, LOS>
9698
* @return The extension.
9799
*/
98100
@SuppressWarnings("unchecked") // The instance works for any H, R, E and LOS
99-
public static <H, R, E, LOS> ElasticsearchExtension<H, R, E, LOS> get() {
100-
return (ElasticsearchExtension<H, R, E, LOS>) INSTANCE;
101+
public static <SR, H, R, E, LOS> ElasticsearchExtension<SR, H, R, E, LOS> get() {
102+
return (ElasticsearchExtension<SR, H, R, E, LOS>) INSTANCE;
101103
}
102104

103105
private ElasticsearchExtension() {
@@ -108,8 +110,8 @@ private ElasticsearchExtension() {
108110
* {@inheritDoc}
109111
*/
110112
@Override
111-
public Optional<ElasticsearchSearchQuerySelectStep<R, E, LOS>> extendOptional(
112-
SearchQuerySelectStep<?, R, E, LOS, ?, ?> original,
113+
public Optional<ElasticsearchSearchQuerySelectStep<SR, R, E, LOS>> extendOptional(
114+
SearchQuerySelectStep<SR, ?, R, E, LOS, ?, ?> original,
113115
SearchQueryIndexScope<?> scope,
114116
BackendSessionContext sessionContext,
115117
SearchLoadingContextBuilder<E, LOS> loadingContextBuilder) {
@@ -141,9 +143,9 @@ public Optional<ElasticsearchSearchQuery<H>> extendOptional(SearchQuery<H> origi
141143
* {@inheritDoc}
142144
*/
143145
@Override
144-
public Optional<ElasticsearchSearchPredicateFactory> extendOptional(SearchPredicateFactory original) {
146+
public Optional<ElasticsearchSearchPredicateFactory<SR>> extendOptional(SearchPredicateFactory<SR> original) {
145147
if ( original instanceof ElasticsearchSearchPredicateFactory ) {
146-
return Optional.of( (ElasticsearchSearchPredicateFactory) original );
148+
return Optional.of( (ElasticsearchSearchPredicateFactory<SR>) original );
147149
}
148150
else {
149151
return Optional.empty();
@@ -154,10 +156,10 @@ public Optional<ElasticsearchSearchPredicateFactory> extendOptional(SearchPredic
154156
* {@inheritDoc}
155157
*/
156158
@Override
157-
public Optional<ElasticsearchSearchSortFactory> extendOptional(
158-
SearchSortFactory original) {
159+
public Optional<ElasticsearchSearchSortFactory<SR>> extendOptional(
160+
SearchSortFactory<SR> original) {
159161
if ( original instanceof ElasticsearchSearchSortFactory ) {
160-
return Optional.of( (ElasticsearchSearchSortFactory) original );
162+
return Optional.of( (ElasticsearchSearchSortFactory<SR>) original );
161163
}
162164
else {
163165
return Optional.empty();
@@ -168,9 +170,9 @@ public Optional<ElasticsearchSearchSortFactory> extendOptional(
168170
* {@inheritDoc}
169171
*/
170172
@Override
171-
public Optional<ElasticsearchSearchProjectionFactory<R, E>> extendOptional(SearchProjectionFactory<R, E> original) {
173+
public Optional<ElasticsearchSearchProjectionFactory<SR, R, E>> extendOptional(SearchProjectionFactory<SR, R, E> original) {
172174
if ( original instanceof ElasticsearchSearchProjectionFactory ) {
173-
return Optional.of( (ElasticsearchSearchProjectionFactory<R, E>) original );
175+
return Optional.of( (ElasticsearchSearchProjectionFactory<SR, R, E>) original );
174176
}
175177
else {
176178
return Optional.empty();
@@ -181,10 +183,10 @@ public Optional<ElasticsearchSearchProjectionFactory<R, E>> extendOptional(Searc
181183
* {@inheritDoc}
182184
*/
183185
@Override
184-
public Optional<ElasticsearchSearchAggregationFactory> extendOptional(
185-
SearchAggregationFactory original) {
186+
public Optional<ElasticsearchSearchAggregationFactory<SR>> extendOptional(
187+
SearchAggregationFactory<SR> original) {
186188
if ( original instanceof ElasticsearchSearchAggregationFactory ) {
187-
return Optional.of( (ElasticsearchSearchAggregationFactory) original );
189+
return Optional.of( (ElasticsearchSearchAggregationFactory<SR>) original );
188190
}
189191
else {
190192
return Optional.empty();

backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/scope/model/impl/ElasticsearchSearchIndexScopeImpl.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -173,24 +173,25 @@ public <P> ElasticsearchSearchQueryBuilder<P> select(BackendSessionContext sessi
173173
}
174174

175175
@Override
176-
public ElasticsearchSearchPredicateFactory predicateFactory() {
177-
return new ElasticsearchSearchPredicateFactoryImpl( SearchPredicateDslContext.root( this ) );
176+
public <SR> ElasticsearchSearchPredicateFactory<SR> predicateFactory() {
177+
return new ElasticsearchSearchPredicateFactoryImpl<SR>( SearchPredicateDslContext.root( this ) );
178178
}
179179

180180
@Override
181-
public ElasticsearchSearchSortFactory sortFactory() {
182-
return new ElasticsearchSearchSortFactoryImpl( SearchSortDslContext
181+
public <SR> ElasticsearchSearchSortFactory<SR> sortFactory() {
182+
return new ElasticsearchSearchSortFactoryImpl<SR>( SearchSortDslContext
183183
.root( this, ElasticsearchSearchSortFactoryImpl::new, predicateFactory() ) );
184184
}
185185

186186
@Override
187-
public <R, E> ElasticsearchSearchProjectionFactory<R, E> projectionFactory() {
187+
public <SR, R, E> ElasticsearchSearchProjectionFactory<SR, R, E> projectionFactory() {
188188
return new ElasticsearchSearchProjectionFactoryImpl<>( SearchProjectionDslContext.root( this ) );
189189
}
190190

191191
@Override
192-
public ElasticsearchSearchAggregationFactory aggregationFactory() {
193-
return new ElasticsearchSearchAggregationFactoryImpl( SearchAggregationDslContext.root( this, predicateFactory() ) );
192+
public <SR> ElasticsearchSearchAggregationFactory<SR> aggregationFactory() {
193+
return new ElasticsearchSearchAggregationFactoryImpl<SR>(
194+
SearchAggregationDslContext.root( this, predicateFactory() ) );
194195
}
195196

196197
@Override

backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/aggregation/dsl/ElasticsearchSearchAggregationFactory.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,11 @@
1212

1313
import com.google.gson.JsonObject;
1414

15-
public interface ElasticsearchSearchAggregationFactory
16-
extends ExtendedSearchAggregationFactory<ElasticsearchSearchAggregationFactory, ElasticsearchSearchPredicateFactory> {
15+
public interface ElasticsearchSearchAggregationFactory<SR>
16+
extends
17+
ExtendedSearchAggregationFactory<SR,
18+
ElasticsearchSearchAggregationFactory<SR>,
19+
ElasticsearchSearchPredicateFactory<SR>> {
1720

1821
/**
1922
* Create an aggregation from JSON.

backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/aggregation/dsl/impl/ElasticsearchSearchAggregationFactoryImpl.java

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,22 +15,24 @@
1515

1616
import com.google.gson.JsonObject;
1717

18-
public class ElasticsearchSearchAggregationFactoryImpl
18+
public class ElasticsearchSearchAggregationFactoryImpl<SR>
1919
extends AbstractSearchAggregationFactory<
20-
ElasticsearchSearchAggregationFactory,
20+
SR,
21+
ElasticsearchSearchAggregationFactory<SR>,
2122
ElasticsearchSearchAggregationIndexScope<?>,
22-
ElasticsearchSearchPredicateFactory>
23-
implements ElasticsearchSearchAggregationFactory {
23+
ElasticsearchSearchPredicateFactory<SR>>
24+
implements ElasticsearchSearchAggregationFactory<SR> {
2425

2526
public ElasticsearchSearchAggregationFactoryImpl(
26-
SearchAggregationDslContext<ElasticsearchSearchAggregationIndexScope<?>,
27-
ElasticsearchSearchPredicateFactory> dslContext) {
27+
SearchAggregationDslContext<SR,
28+
ElasticsearchSearchAggregationIndexScope<?>,
29+
ElasticsearchSearchPredicateFactory<SR>> dslContext) {
2830
super( dslContext );
2931
}
3032

3133
@Override
32-
public ElasticsearchSearchAggregationFactory withRoot(String objectFieldPath) {
33-
return new ElasticsearchSearchAggregationFactoryImpl( dslContext.rescope(
34+
public ElasticsearchSearchAggregationFactory<SR> withRoot(String objectFieldPath) {
35+
return new ElasticsearchSearchAggregationFactoryImpl<SR>( dslContext.rescope(
3436
dslContext.scope().withRoot( objectFieldPath ),
3537
dslContext.predicateFactory().withRoot( objectFieldPath ) ) );
3638
}

backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/predicate/dsl/ElasticsearchSearchPredicateFactory.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,11 @@
1313

1414
/**
1515
* A factory for search predicates with some Elasticsearch-specific methods.
16+
*
17+
* @param <SR> Scope root type.
1618
*/
17-
public interface ElasticsearchSearchPredicateFactory
18-
extends ExtendedSearchPredicateFactory<ElasticsearchSearchPredicateFactory> {
19+
public interface ElasticsearchSearchPredicateFactory<SR>
20+
extends ExtendedSearchPredicateFactory<SR, ElasticsearchSearchPredicateFactory<SR>> {
1921

2022
/**
2123
* Create a predicate from JSON.

backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/predicate/dsl/impl/ElasticsearchSearchPredicateFactoryImpl.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,20 +15,21 @@
1515

1616
import com.google.gson.JsonObject;
1717

18-
public class ElasticsearchSearchPredicateFactoryImpl
18+
public class ElasticsearchSearchPredicateFactoryImpl<SR>
1919
extends AbstractSearchPredicateFactory<
20-
ElasticsearchSearchPredicateFactory,
20+
SR,
21+
ElasticsearchSearchPredicateFactory<SR>,
2122
ElasticsearchSearchPredicateIndexScope<?>>
22-
implements ElasticsearchSearchPredicateFactory {
23+
implements ElasticsearchSearchPredicateFactory<SR> {
2324

2425
public ElasticsearchSearchPredicateFactoryImpl(
2526
SearchPredicateDslContext<ElasticsearchSearchPredicateIndexScope<?>> dslContext) {
2627
super( dslContext );
2728
}
2829

2930
@Override
30-
public ElasticsearchSearchPredicateFactory withRoot(String objectFieldPath) {
31-
return new ElasticsearchSearchPredicateFactoryImpl( dslContext.rescope(
31+
public ElasticsearchSearchPredicateFactory<SR> withRoot(String objectFieldPath) {
32+
return new ElasticsearchSearchPredicateFactoryImpl<SR>( dslContext.rescope(
3233
dslContext.scope().withRoot( objectFieldPath ) ) );
3334
}
3435

backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/predicate/impl/ElasticsearchNamedPredicate.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ private static class Builder extends AbstractBuilder implements NamedPredicateBu
7777
private final PredicateDefinition definition;
7878
private final String predicateName;
7979
private final ElasticsearchSearchIndexCompositeNodeContext field;
80-
private SearchPredicateFactory factory;
80+
private SearchPredicateFactory<?> factory;
8181
private final Map<String, Object> params = new LinkedHashMap<>();
8282

8383
Builder(PredicateDefinition definition, String predicateName,
@@ -90,7 +90,7 @@ private static class Builder extends AbstractBuilder implements NamedPredicateBu
9090
}
9191

9292
@Override
93-
public void factory(SearchPredicateFactory factory) {
93+
public void factory(SearchPredicateFactory<?> factory) {
9494
this.factory = factory;
9595
}
9696

@@ -101,8 +101,9 @@ public void param(String name, Object value) {
101101

102102
@Override
103103
public SearchPredicate build() {
104-
NamedValuesBasedPredicateDefinitionContext ctx = new NamedValuesBasedPredicateDefinitionContext( factory, params,
105-
name -> log.paramNotDefined( name, predicateName, field.eventContext() ) );
104+
NamedValuesBasedPredicateDefinitionContext<?> ctx =
105+
new NamedValuesBasedPredicateDefinitionContext<>( factory, params,
106+
name -> log.paramNotDefined( name, predicateName, field.eventContext() ) );
106107

107108
ElasticsearchSearchPredicate providedPredicate = ElasticsearchSearchPredicate.from(
108109
scope, definition.create( ctx ) );

backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/projection/dsl/ElasticsearchSearchProjectionFactory.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,13 @@
1515
/**
1616
* A factory for search projections with some Elasticsearch-specific methods.
1717
*
18+
* @param <SR> Scope root type.
1819
* @param <R> The type of entity references.
1920
* @param <E> The type of entities.
2021
* @see SearchProjectionFactory
2122
*/
22-
public interface ElasticsearchSearchProjectionFactory<R, E>
23-
extends ExtendedSearchProjectionFactory<ElasticsearchSearchProjectionFactory<R, E>, R, E> {
23+
public interface ElasticsearchSearchProjectionFactory<SR, R, E>
24+
extends ExtendedSearchProjectionFactory<SR, ElasticsearchSearchProjectionFactory<SR, R, E>, R, E> {
2425

2526
/**
2627
* Project to a {@link JsonObject} representing the document as stored in Elasticsearch.

backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/projection/dsl/impl/ElasticsearchSearchProjectionFactoryImpl.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,21 +15,22 @@
1515

1616
import com.google.gson.JsonObject;
1717

18-
public class ElasticsearchSearchProjectionFactoryImpl<R, E>
18+
public class ElasticsearchSearchProjectionFactoryImpl<SR, R, E>
1919
extends AbstractSearchProjectionFactory<
20-
ElasticsearchSearchProjectionFactory<R, E>,
20+
SR,
21+
ElasticsearchSearchProjectionFactory<SR, R, E>,
2122
ElasticsearchSearchProjectionIndexScope<?>,
2223
R,
2324
E>
24-
implements ElasticsearchSearchProjectionFactory<R, E> {
25+
implements ElasticsearchSearchProjectionFactory<SR, R, E> {
2526

2627
public ElasticsearchSearchProjectionFactoryImpl(
2728
SearchProjectionDslContext<ElasticsearchSearchProjectionIndexScope<?>> dslContext) {
2829
super( dslContext );
2930
}
3031

3132
@Override
32-
public ElasticsearchSearchProjectionFactory<R, E> withRoot(String objectFieldPath) {
33+
public ElasticsearchSearchProjectionFactory<SR, R, E> withRoot(String objectFieldPath) {
3334
return new ElasticsearchSearchProjectionFactoryImpl<>( dslContext.rescope(
3435
dslContext.scope().withRoot( objectFieldPath ) ) );
3536
}

backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/query/dsl/ElasticsearchSearchQueryOptionsStep.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,14 @@
1414
import org.hibernate.search.engine.search.query.dsl.SearchQueryOptionsStep;
1515
import org.hibernate.search.util.common.annotation.Incubating;
1616

17-
public interface ElasticsearchSearchQueryOptionsStep<H, LOS>
17+
public interface ElasticsearchSearchQueryOptionsStep<SR, H, LOS>
1818
extends SearchQueryOptionsStep<
19-
ElasticsearchSearchQueryOptionsStep<H, LOS>,
19+
SR,
20+
ElasticsearchSearchQueryOptionsStep<SR, H, LOS>,
2021
H,
2122
LOS,
22-
ElasticsearchSearchSortFactory,
23-
ElasticsearchSearchAggregationFactory>,
23+
ElasticsearchSearchSortFactory<SR>,
24+
ElasticsearchSearchAggregationFactory<SR>>,
2425
ElasticsearchSearchFetchable<H> {
2526

2627
/**
@@ -36,7 +37,7 @@ public interface ElasticsearchSearchQueryOptionsStep<H, LOS>
3637
* @return {@code this}, for method chaining.
3738
*/
3839
@Incubating
39-
ElasticsearchSearchQueryOptionsStep<H, LOS> requestTransformer(ElasticsearchSearchRequestTransformer transformer);
40+
ElasticsearchSearchQueryOptionsStep<SR, H, LOS> requestTransformer(ElasticsearchSearchRequestTransformer transformer);
4041

4142
@Override
4243
ElasticsearchSearchQuery<H> toQuery();

backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/query/dsl/ElasticsearchSearchQuerySelectStep.java

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,34 +15,35 @@
1515
import org.hibernate.search.engine.search.projection.dsl.ProjectionFinalStep;
1616
import org.hibernate.search.engine.search.query.dsl.SearchQuerySelectStep;
1717

18-
public interface ElasticsearchSearchQuerySelectStep<R, E, LOS>
18+
public interface ElasticsearchSearchQuerySelectStep<SR, R, E, LOS>
1919
extends SearchQuerySelectStep<
20-
ElasticsearchSearchQueryOptionsStep<E, LOS>,
20+
SR,
21+
ElasticsearchSearchQueryOptionsStep<SR, E, LOS>,
2122
R,
2223
E,
2324
LOS,
24-
ElasticsearchSearchProjectionFactory<R, E>,
25-
ElasticsearchSearchPredicateFactory>,
26-
ElasticsearchSearchQueryWhereStep<E, LOS> {
25+
ElasticsearchSearchProjectionFactory<SR, R, E>,
26+
ElasticsearchSearchPredicateFactory<SR>>,
27+
ElasticsearchSearchQueryWhereStep<SR, E, LOS> {
2728

2829
@Override
29-
ElasticsearchSearchQueryWhereStep<E, LOS> selectEntity();
30+
ElasticsearchSearchQueryWhereStep<SR, E, LOS> selectEntity();
3031

3132
@Override
32-
ElasticsearchSearchQueryWhereStep<R, LOS> selectEntityReference();
33+
ElasticsearchSearchQueryWhereStep<SR, R, LOS> selectEntityReference();
3334

3435
@Override
35-
<P> ElasticsearchSearchQueryWhereStep<P, LOS> select(Class<P> objectClass);
36+
<P> ElasticsearchSearchQueryWhereStep<SR, P, LOS> select(Class<P> objectClass);
3637

3738
@Override
38-
<P> ElasticsearchSearchQueryWhereStep<P, LOS> select(
39-
Function<? super ElasticsearchSearchProjectionFactory<R, E>,
39+
<P> ElasticsearchSearchQueryWhereStep<SR, P, LOS> select(
40+
Function<? super ElasticsearchSearchProjectionFactory<SR, R, E>,
4041
? extends ProjectionFinalStep<P>> projectionContributor);
4142

4243
@Override
43-
<P> ElasticsearchSearchQueryWhereStep<P, LOS> select(SearchProjection<P> projection);
44+
<P> ElasticsearchSearchQueryWhereStep<SR, P, LOS> select(SearchProjection<P> projection);
4445

4546
@Override
46-
ElasticsearchSearchQueryWhereStep<List<?>, LOS> select(SearchProjection<?>... projections);
47+
ElasticsearchSearchQueryWhereStep<SR, List<?>, LOS> select(SearchProjection<?>... projections);
4748

4849
}

backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/query/dsl/ElasticsearchSearchQueryWhereStep.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,12 @@
99
import org.hibernate.search.backend.elasticsearch.search.predicate.dsl.ElasticsearchSearchPredicateFactory;
1010
import org.hibernate.search.engine.search.query.dsl.SearchQueryWhereStep;
1111

12-
public interface ElasticsearchSearchQueryWhereStep<H, LOS>
13-
extends SearchQueryWhereStep<ElasticsearchSearchQueryOptionsStep<H, LOS>, H, LOS, ElasticsearchSearchPredicateFactory> {
12+
public interface ElasticsearchSearchQueryWhereStep<SR, H, LOS>
13+
extends
14+
SearchQueryWhereStep<SR,
15+
ElasticsearchSearchQueryOptionsStep<SR, H, LOS>,
16+
H,
17+
LOS,
18+
ElasticsearchSearchPredicateFactory<SR>> {
1419

1520
}

0 commit comments

Comments
 (0)