@@ -37,29 +37,29 @@ public class RequestedSessionUpdateParams extends ApiRequestParams {
3737
3838 /** The metadata for this requested session. */
3939 @ SerializedName ("metadata" )
40- Map < String , String > metadata ;
40+ Object metadata ;
4141
4242 /** The payment method for this requested session. */
4343 @ SerializedName ("payment_method" )
4444 Object paymentMethod ;
4545
4646 /** The payment method data for this requested session. */
4747 @ SerializedName ("payment_method_data" )
48- PaymentMethodData paymentMethodData ;
48+ Object paymentMethodData ;
4949
5050 /** The shared metadata for this requested session. */
5151 @ SerializedName ("shared_metadata" )
52- Map < String , String > sharedMetadata ;
52+ Object sharedMetadata ;
5353
5454 private RequestedSessionUpdateParams (
5555 List <String > expand ,
5656 Map <String , Object > extraParams ,
5757 FulfillmentDetails fulfillmentDetails ,
5858 List <RequestedSessionUpdateParams .LineItemDetail > lineItemDetails ,
59- Map < String , String > metadata ,
59+ Object metadata ,
6060 Object paymentMethod ,
61- PaymentMethodData paymentMethodData ,
62- Map < String , String > sharedMetadata ) {
61+ Object paymentMethodData ,
62+ Object sharedMetadata ) {
6363 this .expand = expand ;
6464 this .extraParams = extraParams ;
6565 this .fulfillmentDetails = fulfillmentDetails ;
@@ -83,13 +83,13 @@ public static class Builder {
8383
8484 private List <RequestedSessionUpdateParams .LineItemDetail > lineItemDetails ;
8585
86- private Map < String , String > metadata ;
86+ private Object metadata ;
8787
8888 private Object paymentMethod ;
8989
90- private PaymentMethodData paymentMethodData ;
90+ private Object paymentMethodData ;
9191
92- private Map < String , String > sharedMetadata ;
92+ private Object sharedMetadata ;
9393
9494 /** Finalize and obtain parameter instance from this builder. */
9595 public RequestedSessionUpdateParams build () {
@@ -195,11 +195,12 @@ public Builder addAllLineItemDetail(
195195 * and subsequent calls add additional key/value pairs to the original map. See {@link
196196 * RequestedSessionUpdateParams#metadata} for the field documentation.
197197 */
198+ @ SuppressWarnings ("unchecked" )
198199 public Builder putMetadata (String key , String value ) {
199- if (this .metadata == null ) {
200- this .metadata = new HashMap <>();
200+ if (this .metadata == null || this . metadata instanceof EmptyParam ) {
201+ this .metadata = new HashMap <String , String >();
201202 }
202- this .metadata .put (key , value );
203+ (( Map < String , String >) this .metadata ) .put (key , value );
203204 return this ;
204205 }
205206
@@ -208,11 +209,24 @@ public Builder putMetadata(String key, String value) {
208209 * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map.
209210 * See {@link RequestedSessionUpdateParams#metadata} for the field documentation.
210211 */
212+ @ SuppressWarnings ("unchecked" )
211213 public Builder putAllMetadata (Map <String , String > map ) {
212- if (this .metadata == null ) {
213- this .metadata = new HashMap <>();
214+ if (this .metadata == null || this . metadata instanceof EmptyParam ) {
215+ this .metadata = new HashMap <String , String >();
214216 }
215- this .metadata .putAll (map );
217+ ((Map <String , String >) this .metadata ).putAll (map );
218+ return this ;
219+ }
220+
221+ /** The metadata for this requested session. */
222+ public Builder setMetadata (EmptyParam metadata ) {
223+ this .metadata = metadata ;
224+ return this ;
225+ }
226+
227+ /** The metadata for this requested session. */
228+ public Builder setMetadata (Map <String , String > metadata ) {
229+ this .metadata = metadata ;
216230 return this ;
217231 }
218232
@@ -235,16 +249,23 @@ public Builder setPaymentMethodData(
235249 return this ;
236250 }
237251
252+ /** The payment method data for this requested session. */
253+ public Builder setPaymentMethodData (EmptyParam paymentMethodData ) {
254+ this .paymentMethodData = paymentMethodData ;
255+ return this ;
256+ }
257+
238258 /**
239259 * Add a key/value pair to `sharedMetadata` map. A map is initialized for the first `put/putAll`
240260 * call, and subsequent calls add additional key/value pairs to the original map. See {@link
241261 * RequestedSessionUpdateParams#sharedMetadata} for the field documentation.
242262 */
263+ @ SuppressWarnings ("unchecked" )
243264 public Builder putSharedMetadata (String key , String value ) {
244- if (this .sharedMetadata == null ) {
245- this .sharedMetadata = new HashMap <>();
265+ if (this .sharedMetadata == null || this . sharedMetadata instanceof EmptyParam ) {
266+ this .sharedMetadata = new HashMap <String , String >();
246267 }
247- this .sharedMetadata .put (key , value );
268+ (( Map < String , String >) this .sharedMetadata ) .put (key , value );
248269 return this ;
249270 }
250271
@@ -253,11 +274,24 @@ public Builder putSharedMetadata(String key, String value) {
253274 * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map.
254275 * See {@link RequestedSessionUpdateParams#sharedMetadata} for the field documentation.
255276 */
277+ @ SuppressWarnings ("unchecked" )
256278 public Builder putAllSharedMetadata (Map <String , String > map ) {
257- if (this .sharedMetadata == null ) {
258- this .sharedMetadata = new HashMap <>();
279+ if (this .sharedMetadata == null || this . sharedMetadata instanceof EmptyParam ) {
280+ this .sharedMetadata = new HashMap <String , String >();
259281 }
260- this .sharedMetadata .putAll (map );
282+ ((Map <String , String >) this .sharedMetadata ).putAll (map );
283+ return this ;
284+ }
285+
286+ /** The shared metadata for this requested session. */
287+ public Builder setSharedMetadata (EmptyParam sharedMetadata ) {
288+ this .sharedMetadata = sharedMetadata ;
289+ return this ;
290+ }
291+
292+ /** The shared metadata for this requested session. */
293+ public Builder setSharedMetadata (Map <String , String > sharedMetadata ) {
294+ this .sharedMetadata = sharedMetadata ;
261295 return this ;
262296 }
263297 }
0 commit comments