Skip to content

Commit cb5ff2c

Browse files
committed
[codegen] Update to latest API spec
1 parent 5be6a8e commit cb5ff2c

Some content is hidden

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

45 files changed

+2102
-925
lines changed

java-client/src/main/java/co/elastic/clients/elasticsearch/_types/FieldValue.java

Lines changed: 41 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323

2424
package co.elastic.clients.elasticsearch._types;
2525

26+
import co.elastic.clients.json.JsonData;
2627
import co.elastic.clients.json.JsonpDeserializable;
2728
import co.elastic.clients.json.JsonpDeserializer;
2829
import co.elastic.clients.json.JsonpMapper;
@@ -64,12 +65,16 @@ public static FieldValue of(String value) {
6465
return new FieldValue(Kind.String, value);
6566
}
6667

68+
public static FieldValue of(JsonData value) {
69+
return new FieldValue(Kind.Any, value);
70+
}
71+
6772
public static final FieldValue NULL = new FieldValue(Kind.Null, null);
6873
public static final FieldValue TRUE = new FieldValue(Kind.Boolean, Boolean.TRUE);
6974
public static final FieldValue FALSE = new FieldValue(Kind.Boolean, Boolean.FALSE);
7075

7176
public enum Kind {
72-
Double, Long, Boolean, String, Null
77+
Double, Long, Boolean, String, Null, Any
7378
}
7479

7580
private final Kind _kind;
@@ -97,6 +102,8 @@ public String _toJsonString() {
97102
return this.stringValue();
98103
case Null :
99104
return "null";
105+
case Any :
106+
throw new IllegalStateException("Composite field value cannot be formatted as a string");
100107

101108
default :
102109
throw new IllegalStateException("Unknown kind " + _kind);
@@ -186,6 +193,24 @@ public String stringValue() {
186193
return TaggedUnionUtils.get(this, Kind.String);
187194
}
188195

196+
/**
197+
* Is this variant instance of kind {@code any}?
198+
*/
199+
public boolean isAny() {
200+
return _kind == Kind.Any;
201+
}
202+
203+
/**
204+
* Get the {@code any} variant value, used to represent non-scalar values (i.e.
205+
* objects and arrays)
206+
*
207+
* @throws IllegalStateException
208+
* if the current variant is not of the {@code string} kind.
209+
*/
210+
public JsonData anyValue() {
211+
return TaggedUnionUtils.get(this, Kind.Any);
212+
}
213+
189214
/**
190215
* Is this variant instance of kind {@code null}?
191216
*/
@@ -211,6 +236,9 @@ public void serialize(JsonGenerator generator, JsonpMapper mapper) {
211236
case Null :
212237
generator.writeNull();
213238
break;
239+
case Any :
240+
((JsonData) this._value).serialize(generator, mapper);
241+
break;
214242
}
215243
}
216244

@@ -242,6 +270,12 @@ public ObjectBuilder<FieldValue> stringValue(String v) {
242270
return this;
243271
}
244272

273+
public ObjectBuilder<FieldValue> anyValue(JsonData v) {
274+
this._kind = Kind.Any;
275+
this._value = v;
276+
return this;
277+
}
278+
245279
public ObjectBuilder<FieldValue> nullValue() {
246280
this._kind = Kind.Null;
247281
this._value = null;
@@ -255,10 +289,9 @@ public FieldValue build() {
255289
}
256290

257291
public static final JsonpDeserializer<FieldValue> _DESERIALIZER = JsonpDeserializer
258-
.lazy(() -> JsonpDeserializer.of(
259-
EnumSet.of(JsonParser.Event.VALUE_STRING, JsonParser.Event.VALUE_NUMBER,
260-
JsonParser.Event.VALUE_NULL, JsonParser.Event.VALUE_TRUE, JsonParser.Event.VALUE_FALSE),
261-
(parser, mapper, event) -> {
292+
.lazy(() -> JsonpDeserializer.of(EnumSet.of(JsonParser.Event.VALUE_STRING, JsonParser.Event.VALUE_NUMBER,
293+
JsonParser.Event.VALUE_NULL, JsonParser.Event.VALUE_TRUE, JsonParser.Event.VALUE_FALSE,
294+
JsonParser.Event.START_OBJECT, JsonParser.Event.START_ARRAY), (parser, mapper, event) -> {
262295
switch (event) {
263296
case VALUE_NULL :
264297
return NULL;
@@ -274,6 +307,9 @@ public FieldValue build() {
274307
} else {
275308
return FieldValue.of(parser.getBigDecimal().doubleValue());
276309
}
310+
case START_OBJECT :
311+
case START_ARRAY :
312+
return FieldValue.of(JsonData.of(parser.getValue()));
277313
}
278314
return null;
279315
}));

java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/AdjacencyMatrixBucket.java

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,16 @@
2525

2626
import co.elastic.clients.json.JsonpDeserializable;
2727
import co.elastic.clients.json.JsonpDeserializer;
28+
import co.elastic.clients.json.JsonpMapper;
2829
import co.elastic.clients.json.ObjectBuilderDeserializer;
2930
import co.elastic.clients.json.ObjectDeserializer;
31+
import co.elastic.clients.util.ApiTypeHelper;
3032
import co.elastic.clients.util.ObjectBuilder;
3133
import jakarta.json.stream.JsonGenerator;
34+
import java.lang.String;
3235
import java.util.Objects;
3336
import java.util.function.Function;
37+
import javax.annotation.Nullable;
3438

3539
// typedef: _types.aggregations.AdjacencyMatrixBucket
3640

@@ -42,17 +46,36 @@
4246
*/
4347
@JsonpDeserializable
4448
public class AdjacencyMatrixBucket extends MultiBucketBase {
49+
private final String key;
50+
4551
// ---------------------------------------------------------------------------------------------
4652

4753
private AdjacencyMatrixBucket(Builder builder) {
4854
super(builder);
4955

56+
this.key = ApiTypeHelper.requireNonNull(builder.key, this, "key");
57+
5058
}
5159

5260
public static AdjacencyMatrixBucket of(Function<Builder, ObjectBuilder<AdjacencyMatrixBucket>> fn) {
5361
return fn.apply(new Builder()).build();
5462
}
5563

64+
/**
65+
* Required - API name: {@code key}
66+
*/
67+
public final String key() {
68+
return this.key;
69+
}
70+
71+
protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) {
72+
73+
super.serializeInternal(generator, mapper);
74+
generator.writeKey("key");
75+
generator.write(this.key);
76+
77+
}
78+
5679
// ---------------------------------------------------------------------------------------------
5780

5881
/**
@@ -62,6 +85,16 @@ public static AdjacencyMatrixBucket of(Function<Builder, ObjectBuilder<Adjacency
6285
public static class Builder extends MultiBucketBase.AbstractBuilder<Builder>
6386
implements
6487
ObjectBuilder<AdjacencyMatrixBucket> {
88+
private String key;
89+
90+
/**
91+
* Required - API name: {@code key}
92+
*/
93+
public final Builder key(String value) {
94+
this.key = value;
95+
return this;
96+
}
97+
6598
@Override
6699
protected Builder self() {
67100
return this;
@@ -90,6 +123,7 @@ public AdjacencyMatrixBucket build() {
90123

91124
protected static void setupAdjacencyMatrixBucketDeserializer(ObjectDeserializer<AdjacencyMatrixBucket.Builder> op) {
92125
MultiBucketBase.setupMultiBucketBaseDeserializer(op);
126+
op.add(Builder::key, JsonpDeserializer.stringDeserializer(), "key");
93127

94128
}
95129

java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/CompositeAggregate.java

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

2424
package co.elastic.clients.elasticsearch._types.aggregations;
2525

26-
import co.elastic.clients.json.JsonData;
26+
import co.elastic.clients.elasticsearch._types.FieldValue;
2727
import co.elastic.clients.json.JsonpDeserializable;
2828
import co.elastic.clients.json.JsonpDeserializer;
2929
import co.elastic.clients.json.JsonpMapper;
@@ -48,7 +48,7 @@
4848
*/
4949
@JsonpDeserializable
5050
public class CompositeAggregate extends MultiBucketAggregateBase<CompositeBucket> implements AggregateVariant {
51-
private final Map<String, JsonData> afterKey;
51+
private final Map<String, FieldValue> afterKey;
5252

5353
// ---------------------------------------------------------------------------------------------
5454

@@ -74,7 +74,7 @@ public Aggregate.Kind _aggregateKind() {
7474
/**
7575
* API name: {@code after_key}
7676
*/
77-
public final Map<String, JsonData> afterKey() {
77+
public final Map<String, FieldValue> afterKey() {
7878
return this.afterKey;
7979
}
8080

@@ -84,7 +84,7 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) {
8484
if (ApiTypeHelper.isDefined(this.afterKey)) {
8585
generator.writeKey("after_key");
8686
generator.writeStartObject();
87-
for (Map.Entry<String, JsonData> item0 : this.afterKey.entrySet()) {
87+
for (Map.Entry<String, FieldValue> item0 : this.afterKey.entrySet()) {
8888
generator.writeKey(item0.getKey());
8989
item0.getValue().serialize(generator, mapper);
9090

@@ -105,14 +105,14 @@ public static class Builder extends MultiBucketAggregateBase.AbstractBuilder<Com
105105
implements
106106
ObjectBuilder<CompositeAggregate> {
107107
@Nullable
108-
private Map<String, JsonData> afterKey;
108+
private Map<String, FieldValue> afterKey;
109109

110110
/**
111111
* API name: {@code after_key}
112112
* <p>
113113
* Adds all entries of <code>map</code> to <code>afterKey</code>.
114114
*/
115-
public final Builder afterKey(Map<String, JsonData> map) {
115+
public final Builder afterKey(Map<String, FieldValue> map) {
116116
this.afterKey = _mapPutAll(this.afterKey, map);
117117
return this;
118118
}
@@ -122,11 +122,20 @@ public final Builder afterKey(Map<String, JsonData> map) {
122122
* <p>
123123
* Adds an entry to <code>afterKey</code>.
124124
*/
125-
public final Builder afterKey(String key, JsonData value) {
125+
public final Builder afterKey(String key, FieldValue value) {
126126
this.afterKey = _mapPut(this.afterKey, key, value);
127127
return this;
128128
}
129129

130+
/**
131+
* API name: {@code after_key}
132+
* <p>
133+
* Adds an entry to <code>afterKey</code> using a builder lambda.
134+
*/
135+
public final Builder afterKey(String key, Function<FieldValue.Builder, ObjectBuilder<FieldValue>> fn) {
136+
return afterKey(key, fn.apply(new FieldValue.Builder()).build());
137+
}
138+
130139
@Override
131140
protected Builder self() {
132141
return this;
@@ -156,7 +165,7 @@ public CompositeAggregate build() {
156165

157166
protected static void setupCompositeAggregateDeserializer(ObjectDeserializer<CompositeAggregate.Builder> op) {
158167
MultiBucketAggregateBase.setupMultiBucketAggregateBaseDeserializer(op, CompositeBucket._DESERIALIZER);
159-
op.add(Builder::afterKey, JsonpDeserializer.stringMapDeserializer(JsonData._DESERIALIZER), "after_key");
168+
op.add(Builder::afterKey, JsonpDeserializer.stringMapDeserializer(FieldValue._DESERIALIZER), "after_key");
160169

161170
}
162171

java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/CompositeAggregation.java

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323

2424
package co.elastic.clients.elasticsearch._types.aggregations;
2525

26+
import co.elastic.clients.elasticsearch._types.FieldValue;
2627
import co.elastic.clients.json.JsonpDeserializable;
2728
import co.elastic.clients.json.JsonpDeserializer;
2829
import co.elastic.clients.json.JsonpMapper;
@@ -49,7 +50,7 @@
4950
*/
5051
@JsonpDeserializable
5152
public class CompositeAggregation extends BucketAggregationBase implements AggregationVariant {
52-
private final Map<String, String> after;
53+
private final Map<String, FieldValue> after;
5354

5455
@Nullable
5556
private final Integer size;
@@ -82,7 +83,7 @@ public Aggregation.Kind _aggregationKind() {
8283
/**
8384
* API name: {@code after}
8485
*/
85-
public final Map<String, String> after() {
86+
public final Map<String, FieldValue> after() {
8687
return this.after;
8788
}
8889

@@ -107,9 +108,9 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) {
107108
if (ApiTypeHelper.isDefined(this.after)) {
108109
generator.writeKey("after");
109110
generator.writeStartObject();
110-
for (Map.Entry<String, String> item0 : this.after.entrySet()) {
111+
for (Map.Entry<String, FieldValue> item0 : this.after.entrySet()) {
111112
generator.writeKey(item0.getKey());
112-
generator.write(item0.getValue());
113+
item0.getValue().serialize(generator, mapper);
113114

114115
}
115116
generator.writeEnd();
@@ -151,7 +152,7 @@ public static class Builder extends BucketAggregationBase.AbstractBuilder<Builde
151152
implements
152153
ObjectBuilder<CompositeAggregation> {
153154
@Nullable
154-
private Map<String, String> after;
155+
private Map<String, FieldValue> after;
155156

156157
@Nullable
157158
private Integer size;
@@ -164,7 +165,7 @@ public static class Builder extends BucketAggregationBase.AbstractBuilder<Builde
164165
* <p>
165166
* Adds all entries of <code>map</code> to <code>after</code>.
166167
*/
167-
public final Builder after(Map<String, String> map) {
168+
public final Builder after(Map<String, FieldValue> map) {
168169
this.after = _mapPutAll(this.after, map);
169170
return this;
170171
}
@@ -174,11 +175,20 @@ public final Builder after(Map<String, String> map) {
174175
* <p>
175176
* Adds an entry to <code>after</code>.
176177
*/
177-
public final Builder after(String key, String value) {
178+
public final Builder after(String key, FieldValue value) {
178179
this.after = _mapPut(this.after, key, value);
179180
return this;
180181
}
181182

183+
/**
184+
* API name: {@code after}
185+
* <p>
186+
* Adds an entry to <code>after</code> using a builder lambda.
187+
*/
188+
public final Builder after(String key, Function<FieldValue.Builder, ObjectBuilder<FieldValue>> fn) {
189+
return after(key, fn.apply(new FieldValue.Builder()).build());
190+
}
191+
182192
/**
183193
* API name: {@code size}
184194
*/
@@ -236,8 +246,7 @@ public CompositeAggregation build() {
236246

237247
protected static void setupCompositeAggregationDeserializer(ObjectDeserializer<CompositeAggregation.Builder> op) {
238248
BucketAggregationBase.setupBucketAggregationBaseDeserializer(op);
239-
op.add(Builder::after, JsonpDeserializer.stringMapDeserializer(JsonpDeserializer.stringDeserializer()),
240-
"after");
249+
op.add(Builder::after, JsonpDeserializer.stringMapDeserializer(FieldValue._DESERIALIZER), "after");
241250
op.add(Builder::size, JsonpDeserializer.integerDeserializer(), "size");
242251
op.add(Builder::sources, JsonpDeserializer.arrayDeserializer(
243252
JsonpDeserializer.stringMapDeserializer(CompositeAggregationSource._DESERIALIZER)), "sources");

0 commit comments

Comments
 (0)