![JAR search and dependency download from the Maven repository](/logo.png)
com.logicommerce.sdk.models.payment.PaymentDataFormBuilder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of sdk Show documentation
Show all versions of sdk Show documentation
SDK for developing Logicommerce plugins.
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