All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.logicommerce.sdk.models.payment.PaymentDataFormBuilder Maven / Gradle / Ivy

There is a newer version: 2.3.0
Show newest version
package com.logicommerce.sdk.models.payment;

import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.logicommerce.sdk.models.Param;
import com.logicommerce.sdk.models.ParamImpl;

/**
 * 

PaymentDataFormBuilder class.

* * @author Logicommerce * @since 1.0.16 */ public class PaymentDataFormBuilder extends PaymentDataBuilder { private String url; private String method; private Map params; private static final String GET = "get"; private static final String POST = "post"; private static final String PUT = "put"; private static final String DELETE = "delete"; /** *

Constructor for PaymentDataFormBuilder.

* * @param parentBuilder a T object */ public PaymentDataFormBuilder(T parentBuilder) { super(parentBuilder); this.params = new LinkedHashMap<>(); } /** *

url.

* * @param url a {@link java.lang.String} object * @return a {@link com.logicommerce.sdk.models.payment.PaymentDataFormBuilder} object */ public PaymentDataFormBuilder url(String url) { this.url = url; return this; } /** *

method.

* * @param method a {@link java.lang.String} object * @return a {@link com.logicommerce.sdk.models.payment.PaymentDataFormBuilder} object */ public PaymentDataFormBuilder method(String method) { this.method = method; return this; } /** *

get.

* * @return a {@link com.logicommerce.sdk.models.payment.PaymentDataFormBuilder} object */ public PaymentDataFormBuilder get() { return method(GET); } /** *

post.

* * @return a {@link com.logicommerce.sdk.models.payment.PaymentDataFormBuilder} object */ public PaymentDataFormBuilder post() { return method(POST); } /** *

put.

* * @return a {@link com.logicommerce.sdk.models.payment.PaymentDataFormBuilder} object */ public PaymentDataFormBuilder put() { return method(PUT); } /** *

delete.

* * @return a {@link com.logicommerce.sdk.models.payment.PaymentDataFormBuilder} object */ public PaymentDataFormBuilder delete() { return method(DELETE); } /** *

param.

* * @param name a {@link java.lang.String} object * @param value a {@link java.lang.String} object * @return a {@link com.logicommerce.sdk.models.payment.PaymentDataFormBuilder} object */ public PaymentDataFormBuilder param(String name, String value) { params.put(name, value); return this; } private List getParams() { return params.entrySet().stream() .map(ParamImpl::new) .collect(Collectors.toList()); } /** {@inheritDoc} */ @Override protected PaymentDataForm build() { PaymentDataFormImpl dataForm = new PaymentDataFormImpl(); dataForm.setMethod(method); dataForm.setUrl(url); dataForm.setParams(getParams()); return dataForm; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy