com.adyen.model.checkout.PaymentMethod Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of adyen-java-api-library Show documentation
Show all versions of adyen-java-api-library Show documentation
Adyen API Client Library for Java
/*
* ######
* ######
* ############ ####( ###### #####. ###### ############ ############
* ############# #####( ###### #####. ###### ############# #############
* ###### #####( ###### #####. ###### ##### ###### ##### ######
* ###### ###### #####( ###### #####. ###### ##### ##### ##### ######
* ###### ###### #####( ###### #####. ###### ##### ##### ######
* ############# ############# ############# ############# ##### ######
* ############ ############ ############# ############ ##### ######
* ######
* #############
* ############
*
* Adyen Java API Library
*
* Copyright (c) 2018 Adyen B.V.
* This file is open source and available under the MIT license.
* See the LICENSE file for more info.
*/
package com.adyen.model.checkout;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import com.google.gson.annotations.SerializedName;
/**
* PaymentMethod
*/
public class PaymentMethod {
@SerializedName("configuration")
private Map configuration = null;
@SerializedName("details")
private List details = null;
@SerializedName("group")
private PaymentMethodGroup group = null;
@SerializedName("name")
private String name = null;
@SerializedName("paymentMethodData")
private String paymentMethodData = null;
@SerializedName("type")
private String type = null;
public PaymentMethod configuration(Map configuration) {
this.configuration = configuration;
return this;
}
public PaymentMethod putConfigurationItem(String key, String configurationItem) {
if (this.configuration == null) {
this.configuration = null;
}
this.configuration.put(key, configurationItem);
return this;
}
/**
* The configuration of the payment method.
*
* @return configuration
**/
public Map getConfiguration() {
return configuration;
}
public void setConfiguration(Map configuration) {
this.configuration = configuration;
}
public PaymentMethod details(List details) {
this.details = details;
return this;
}
public PaymentMethod addDetailsItem(InputDetail detailsItem) {
if (this.details == null) {
this.details = new ArrayList();
}
this.details.add(detailsItem);
return this;
}
/**
* All input details to be provided to complete the payment with this payment method.
*
* @return details
**/
public List getDetails() {
return details;
}
public void setDetails(List details) {
this.details = details;
}
public PaymentMethod group(PaymentMethodGroup group) {
this.group = group;
return this;
}
/**
* Get group
*
* @return group
**/
public PaymentMethodGroup getGroup() {
return group;
}
public void setGroup(PaymentMethodGroup group) {
this.group = group;
}
public PaymentMethod name(String name) {
this.name = name;
return this;
}
/**
* The displayable name of this payment method.
*
* @return name
**/
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public PaymentMethod paymentMethodData(String paymentMethodData) {
this.paymentMethodData = paymentMethodData;
return this;
}
/**
* Echo data required to send in next calls.
*
* @return paymentMethodData
**/
public String getPaymentMethodData() {
return paymentMethodData;
}
public void setPaymentMethodData(String paymentMethodData) {
this.paymentMethodData = paymentMethodData;
}
public PaymentMethod type(String type) {
this.type = type;
return this;
}
/**
* The unique payment method code.
*
* @return type
**/
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
PaymentMethod paymentMethod = (PaymentMethod) o;
return Objects.equals(this.configuration, paymentMethod.configuration)
&& Objects.equals(this.details, paymentMethod.details)
&& Objects.equals(this.group, paymentMethod.group)
&& Objects.equals(this.name, paymentMethod.name)
&& Objects.equals(this.paymentMethodData, paymentMethod.paymentMethodData)
&& Objects.equals(this.type, paymentMethod.type);
}
@Override
public int hashCode() {
return Objects.hash(configuration, details, group, name, paymentMethodData, type);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class PaymentMethod {\n");
sb.append(" configuration: ").append(toIndentedString(configuration)).append("\n");
sb.append(" details: ").append(toIndentedString(details)).append("\n");
sb.append(" group: ").append(toIndentedString(group)).append("\n");
sb.append(" name: ").append(toIndentedString(name)).append("\n");
sb.append(" paymentMethodData: ").append(toIndentedString(paymentMethodData)).append("\n");
sb.append(" type: ").append(toIndentedString(type)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private String toIndentedString(Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}