@@ -302,48 +302,57 @@ public SortOptions build() {
302302 return new SortOptions (this );
303303 }
304304
305+ @ Override
306+ public Builder withJson (JsonParser parser , JsonpMapper mapper ) {
307+ deserializeBuilder (this , parser .next (), parser , mapper );
308+ return this ;
309+ }
305310 }
306311
307312 public static final JsonpDeserializer <SortOptions > _DESERIALIZER = JsonpDeserializer .lazy (() -> JsonpDeserializer
308313 .of (EnumSet .of (JsonParser .Event .START_OBJECT , JsonParser .Event .VALUE_STRING ), (parser , mapper , event ) -> {
309314 SortOptions .Builder b = new SortOptions .Builder ();
310-
311- if (event == JsonParser .Event .VALUE_STRING ) {
312- switch (parser .getString ()) {
313- case "_score" :
314- b .score (s -> s );
315- break ;
316- case "_doc" :
317- b .doc (d -> d );
318- break ;
319- default :
320- b .field (f -> f .field (parser .getString ()));
321- }
322- return b .build ();
323- }
324-
325- JsonpUtils .expectEvent (parser , JsonParser .Event .START_OBJECT , event );
326- JsonpUtils .expectNextEvent (parser , JsonParser .Event .KEY_NAME );
327- switch (parser .getString ()) {
328- case "_score" :
329- b .score (ScoreSort ._DESERIALIZER .deserialize (parser , mapper ));
330- break ;
331- case "_doc" :
332- b .doc (ScoreSort ._DESERIALIZER .deserialize (parser , mapper ));
333- break ;
334- case "_geo_distance" :
335- b .geoDistance (GeoDistanceSort ._DESERIALIZER .deserialize (parser , mapper ));
336- break ;
337- case "_script" :
338- b .script (ScriptSort ._DESERIALIZER .deserialize (parser , mapper ));
339- break ;
340- default :
341- // Consumes END_OBJECT
342- return b .field (FieldSort ._DESERIALIZER .deserialize (parser , mapper , JsonParser .Event .KEY_NAME ))
343- .build ();
344- }
345-
346- JsonpUtils .expectNextEvent (parser , JsonParser .Event .END_OBJECT );
315+ deserializeBuilder (b , event , parser , mapper );
347316 return b .build ();
348317 }));
318+
319+ private static void deserializeBuilder (SortOptions .Builder b , JsonParser .Event event , JsonParser parser ,
320+ JsonpMapper mapper ) {
321+ if (event == JsonParser .Event .VALUE_STRING ) {
322+ switch (parser .getString ()) {
323+ case "_score" :
324+ b .score (s -> s );
325+ break ;
326+ case "_doc" :
327+ b .doc (d -> d );
328+ break ;
329+ default :
330+ b .field (f -> f .field (parser .getString ()));
331+ }
332+ return ;
333+ }
334+
335+ JsonpUtils .expectEvent (parser , JsonParser .Event .START_OBJECT , event );
336+ JsonpUtils .expectNextEvent (parser , JsonParser .Event .KEY_NAME );
337+ switch (parser .getString ()) {
338+ case "_score" :
339+ b .score (ScoreSort ._DESERIALIZER .deserialize (parser , mapper ));
340+ break ;
341+ case "_doc" :
342+ b .doc (ScoreSort ._DESERIALIZER .deserialize (parser , mapper ));
343+ break ;
344+ case "_geo_distance" :
345+ b .geoDistance (GeoDistanceSort ._DESERIALIZER .deserialize (parser , mapper ));
346+ break ;
347+ case "_script" :
348+ b .script (ScriptSort ._DESERIALIZER .deserialize (parser , mapper ));
349+ break ;
350+ default :
351+ // Consumes END_OBJECT
352+ b .field (FieldSort ._DESERIALIZER .deserialize (parser , mapper , JsonParser .Event .KEY_NAME ));
353+ return ;
354+ }
355+
356+ JsonpUtils .expectNextEvent (parser , JsonParser .Event .END_OBJECT );
357+ }
349358}
0 commit comments