3636
3737package org .opensearch .client .opensearch ._types .aggregations ;
3838
39+ import jakarta .json .stream .JsonGenerator ;
40+ import java .util .Map ;
41+ import java .util .Objects ;
3942import java .util .function .Function ;
4043import javax .annotation .Generated ;
4144import javax .annotation .Nonnull ;
45+ import javax .annotation .Nullable ;
46+ import org .opensearch .client .json .JsonData ;
4247import org .opensearch .client .json .JsonpDeserializable ;
4348import org .opensearch .client .json .JsonpDeserializer ;
49+ import org .opensearch .client .json .JsonpMapper ;
4450import org .opensearch .client .json .ObjectBuilderDeserializer ;
4551import org .opensearch .client .json .ObjectDeserializer ;
52+ import org .opensearch .client .json .PlainJsonSerializable ;
53+ import org .opensearch .client .util .ApiTypeHelper ;
4654import org .opensearch .client .util .CopyableBuilder ;
4755import org .opensearch .client .util .ObjectBuilder ;
56+ import org .opensearch .client .util .ObjectBuilderBase ;
4857import org .opensearch .client .util .ToCopyableBuilder ;
4958
5059// typedef: _types.aggregations.AdjacencyMatrixAggregate
5160
5261@ JsonpDeserializable
5362@ Generated ("org.opensearch.client.codegen.CodeGenerator" )
54- public class AdjacencyMatrixAggregate extends MultiBucketAggregateBase < AdjacencyMatrixBucket >
63+ public class AdjacencyMatrixAggregate
5564 implements
5665 AggregateVariant ,
66+ PlainJsonSerializable ,
5767 ToCopyableBuilder <AdjacencyMatrixAggregate .Builder , AdjacencyMatrixAggregate > {
5868
69+ @ Nonnull
70+ private final Buckets <AdjacencyMatrixBucket > buckets ;
71+
72+ @ Nonnull
73+ private final Map <String , JsonData > meta ;
74+
5975 // ---------------------------------------------------------------------------------------------
6076
6177 private AdjacencyMatrixAggregate (Builder builder ) {
62- super (builder );
78+ this .buckets = ApiTypeHelper .requireNonNull (builder .buckets , this , "buckets" );
79+ this .meta = ApiTypeHelper .unmodifiable (builder .meta );
6380 }
6481
6582 public static AdjacencyMatrixAggregate of (Function <AdjacencyMatrixAggregate .Builder , ObjectBuilder <AdjacencyMatrixAggregate >> fn ) {
@@ -74,6 +91,47 @@ public Aggregate.Kind _aggregateKind() {
7491 return Aggregate .Kind .AdjacencyMatrix ;
7592 }
7693
94+ /**
95+ * Required - API name: {@code buckets}
96+ */
97+ @ Nonnull
98+ public final Buckets <AdjacencyMatrixBucket > buckets () {
99+ return this .buckets ;
100+ }
101+
102+ /**
103+ * API name: {@code meta}
104+ */
105+ @ Nonnull
106+ public final Map <String , JsonData > meta () {
107+ return this .meta ;
108+ }
109+
110+ /**
111+ * Serialize this object to JSON.
112+ */
113+ @ Override
114+ public void serialize (JsonGenerator generator , JsonpMapper mapper ) {
115+ generator .writeStartObject ();
116+ serializeInternal (generator , mapper );
117+ generator .writeEnd ();
118+ }
119+
120+ protected void serializeInternal (JsonGenerator generator , JsonpMapper mapper ) {
121+ generator .writeKey ("buckets" );
122+ this .buckets .serialize (generator , mapper );
123+
124+ if (ApiTypeHelper .isDefined (this .meta )) {
125+ generator .writeKey ("meta" );
126+ generator .writeStartObject ();
127+ for (Map .Entry <String , JsonData > item0 : this .meta .entrySet ()) {
128+ generator .writeKey (item0 .getKey ());
129+ item0 .getValue ().serialize (generator , mapper );
130+ }
131+ generator .writeEnd ();
132+ }
133+ }
134+
77135 // ---------------------------------------------------------------------------------------------
78136
79137 @ Override
@@ -90,18 +148,21 @@ public static Builder builder() {
90148 /**
91149 * Builder for {@link AdjacencyMatrixAggregate}.
92150 */
93- public static class Builder extends MultiBucketAggregateBase .AbstractBuilder <AdjacencyMatrixBucket , Builder >
94- implements
95- CopyableBuilder <Builder , AdjacencyMatrixAggregate > {
151+ public static class Builder extends ObjectBuilderBase implements CopyableBuilder <Builder , AdjacencyMatrixAggregate > {
152+ private Buckets <AdjacencyMatrixBucket > buckets ;
153+ @ Nullable
154+ private Map <String , JsonData > meta ;
96155
97156 public Builder () {}
98157
99158 private Builder (AdjacencyMatrixAggregate o ) {
100- super (o );
159+ this .buckets = o .buckets ;
160+ this .meta = _mapCopy (o .meta );
101161 }
102162
103163 private Builder (Builder o ) {
104- super (o );
164+ this .buckets = o .buckets ;
165+ this .meta = _mapCopy (o .meta );
105166 }
106167
107168 @ Override
@@ -110,9 +171,46 @@ public Builder copy() {
110171 return new Builder (this );
111172 }
112173
113- @ Override
174+ /**
175+ * Required - API name: {@code buckets}
176+ */
114177 @ Nonnull
115- protected Builder self () {
178+ public final Builder buckets (Buckets <AdjacencyMatrixBucket > value ) {
179+ this .buckets = value ;
180+ return this ;
181+ }
182+
183+ /**
184+ * Required - API name: {@code buckets}
185+ */
186+ @ Nonnull
187+ public final Builder buckets (Function <Buckets .Builder <AdjacencyMatrixBucket >, ObjectBuilder <Buckets <AdjacencyMatrixBucket >>> fn ) {
188+ return buckets (fn .apply (new Buckets .Builder <AdjacencyMatrixBucket >()).build ());
189+ }
190+
191+ /**
192+ * API name: {@code meta}
193+ *
194+ * <p>
195+ * Adds all elements of <code>map</code> to <code>meta</code>.
196+ * </p>
197+ */
198+ @ Nonnull
199+ public final Builder meta (Map <String , JsonData > map ) {
200+ this .meta = _mapPutAll (this .meta , map );
201+ return this ;
202+ }
203+
204+ /**
205+ * API name: {@code meta}
206+ *
207+ * <p>
208+ * Adds an entry to <code>meta</code>.
209+ * </p>
210+ */
211+ @ Nonnull
212+ public final Builder meta (String key , JsonData value ) {
213+ this .meta = _mapPut (this .meta , key , value );
116214 return this ;
117215 }
118216
@@ -141,22 +239,23 @@ public AdjacencyMatrixAggregate build() {
141239 );
142240
143241 protected static void setupAdjacencyMatrixAggregateDeserializer (ObjectDeserializer <AdjacencyMatrixAggregate .Builder > op ) {
144- setupMultiBucketAggregateBaseDeserializer (op , AdjacencyMatrixBucket ._DESERIALIZER );
242+ op .add (Builder ::buckets , Buckets .createBucketsDeserializer (AdjacencyMatrixBucket ._DESERIALIZER ), "buckets" );
243+ op .add (Builder ::meta , JsonpDeserializer .stringMapDeserializer (JsonData ._DESERIALIZER ), "meta" );
145244 }
146245
147246 @ Override
148247 public int hashCode () {
149- int result = super .hashCode ();
248+ int result = 17 ;
249+ result = 31 * result + this .buckets .hashCode ();
250+ result = 31 * result + Objects .hashCode (this .meta );
150251 return result ;
151252 }
152253
153254 @ Override
154255 public boolean equals (Object o ) {
155- if (!super .equals (o )) {
156- return false ;
157- }
158256 if (this == o ) return true ;
159257 if (o == null || this .getClass () != o .getClass ()) return false ;
160- return true ;
258+ AdjacencyMatrixAggregate other = (AdjacencyMatrixAggregate ) o ;
259+ return this .buckets .equals (other .buckets ) && Objects .equals (this .meta , other .meta );
161260 }
162261}
0 commit comments